sqlilabs-Less之HTTP头部参数的注入——基础篇
Less-18 user-agent报错注入
这一关的代码漏洞点出现在了insert语句,因为这里没有对user-agent和ip_address进行过滤,,并且输出了mysql的错误信息
补充知识点 PHP里用来获取客户端IP的变量
$_SERVER['HTTP_CLIENT_IP'] #这个很少使用,不一定服务器都实现了。客户端可以伪造
$_SERVER['HTTP_X_FORWARDED_FOR'] #客户端可以伪造
$_SERVER['REMOTE_ADDR'] #客户端不能伪造
所以在这里的IP地址是无法被伪造,这里就只能修改user-agent来进行注入
使用bp拦截流量修改
后面爆出数据的步骤就大差不差了,就不在赘述了
Less-19 referer报错注入
这里和上一关类似,同样对用户的输入都做了过滤,但是没有对ip_address和referer做过滤,但是因为ip没有办法被伪造,那就我们的注入点只能考虑referer了
referer参数是表名从哪一个地址进入这个网站的,源地址
和上面一样,就不再测试了
Less-20 cookie报错注入
从源码中可以分析出 Less-20 要复杂一点,不过问题还是存在,从 cookie 中读取的 uname 参数值 并直接拼接到了 SQL 语句中了,这就导致了注入点的产生,并且还输出了查询信息,所以这里也是可以进行联合查询注入的