赞
踩
在开始讲http-header之前,我觉得有必要去简单地了解http-header
http即超文本传输协议,为目前网页传输的通用协议。http采用了请求/相应模型。浏览器或者其他客户端发出请求,服务器给予响应,就整个网络资源传输而言,包括了massage-header和massage-body两部分,首先传输的是message-header,即http-header消息,http-header消息主要分成四个部分:general header ,request header ,response header,entity header.但其实这反而不易理解,根据维基百科,http-header分为request-header和response-header,而request和response底下还会细分。详细的在这里不便展开,想要了解的可以自行百度。
上面介绍了http大概的含义,那到底什么是http-header注入呢?
有图中介绍可知,http-header注入漏洞正是由于后台把超文本传输头中的一些信息拿去拼接到sql语句中又不做安全处理造成的。
接下来,还是在渗透练习平台上给大家做演示。
打开登陆页面并输入用户名和密码
登陆后页面
那么是否后台获取了上图中http头中的信息后被放到了sql语句中进行了相关的操作呢,在这里完全可以去尝试性地去测试一下,一般,类似于上图中这样获取了浏览器或客户端http的地方,都有可能存在http注入漏洞。
打开burpsuit查看抓到的请求数据包
然后把抓到的请求数据包send to repeater进行重放
因为刚刚认为数据库是对http头中的信息进行了获取并拼接,在这里主要就用user agent这个字段来进行测试
不妨把这整个字段删除掉输入别的字符看后台是否报错,如果后台确实是获取http header中的信息进行语句拼接,那么获取到错误的信息自然会报错
输入一个引号
提交后看结果
可以看见确实有错误提示,那么证明后台确实把相关信息拼接的sql语句中去执行了,这也就形成了注入漏洞。
构造payload,后台数据库采用的是insert语句将获取到的信息拼接到sql查询语句当中的,根据之前博客中提到的相关注入语句知识,构造insert注入.
接着查看结果
可以看见报错获取信息成功。
cookie漏洞
可以看见有相应的语法报错
还是用同样的payload来测试,提交
报错返回查看想要的信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。