http头注入

原理

有些时候,后台开发人员为了验证客户端头信息(比如常用的cookie验证),或者通过http header头信息获取客户端的一些资料,比如useragent、accept字段等。会对客户端的http header信息进行获取并使用sql进行处理,如果此时没有足够的安全考虑则可能会导致基于http header的sql inject漏洞。

适用场景:

网站会读取用户的一些信息

使用:

sql-labs第十八关,发现她会抓取我们的ip,那么我们就可以用burp抓包,将代理模块的http历史记录中抓取的信息发送到repeater,在User-agent下修改语句,利用报错注入或者union注入,第十八关用的是报错注入

看一下代码:

$uagent = $_SERVER['HTTP_USER_AGENT'];

通过$_SERVER来获取HTTP_USER_AGENT信息再赋值到$uagent

再看代码:

$insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)";

他将我们的uagent插入到security中的uagents表中

如果要直接登录可以在User-agent处使用万能密码登陆后台

注入的话就用报错注入就行

你可能感兴趣的:(http,安全,网络协议)