sqlilabs less-18 ~ less-19

sqlilabs less-18~19

    • 前期测试
    • 报错注入
    • 1'+(sql)+'1注入
    • 浅析源码
  • sqlilabs less-19

前期测试

sqlilabs less-18 ~ less-19_第1张图片
测试后发现注入点应不在登录功能上,凭借弱密码admin:admin登陆看看能发现什么。
sqlilabs less-18 ~ less-19_第2张图片
注意蓝字看起来像不像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 suitesqlilabs less-18 ~ less-19_第3张图片

显示的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

在这里插入图片描述

浅析源码

最后来看看源码
重点
sqlilabs less-18 ~ less-19_第4张图片
sqlilabs less-18 ~ less-19_第5张图片
首先看到输入经过各种筛查,所以导致前期测试登录功能没有反应,然后通过用户和密码验证后,向security数据库插入uagent、ip、uname,并且显示ip、agent
为什么不能通过IP来注入呢,本人猜想是因为代码使用的是REMOTE_ADDR,而不是X-Forward-For

sqlilabs less-19

不知道为什么我的less-19,没有任何反应,看了眼源码估计是Referer注入,和less-18没有太大差距。

你可能感兴趣的:(sqli-labs,sql)