原理:
http header注入,该注入是指利用后端验证客户端口信息(比如常用的cookie验证)或者通过http header中获取客户端的一些信息(比如useragent用户代理等其他http header字段信息),因为这些信息是会重新返回拼接到后台中的,所以再对这些信息进行sql处理,又因为后台没有进过相对应的信息处理所以构成了sql注入。
这里科普一下:cookie是储存在用户本地终端上的数据,Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
具体方法:
第一步:用bp工具对网站登录页面进行抓包,然后对user agent数据(这里不一定是user agent,你怀疑哪一个你就改哪一个)进行测试,看是否存在sql注入,也就是输入单引号或者其他违规语法,看后台返回的信息中是否存在syntax error(语法错误)。
第二步:确认存在sql注入以后,就可以渗透了,updatexml()函数,extractvalue()函数,floor()函数,都可以。
x’ or updatexml(1,concat(0x7e,database()),1) or ’
x’ or extractvalue(1,concat(0x7e,database())) or ’
效果图:
除了上面的对user angent进行修改,还有对cookie进行修改
高光部分经过测试都存在sql注入,和上面user angent一样的处理就可以
得到结果: