(1)请求报文
由客户端发给服务器得消息,其组成包括请求行、请求头域和请求体。
HTTP请求方法
(2)响应报文
由服务器回复给客户端得消息,其组成包括状态行、响应头域和响应体。
- 文件夹存在响应码:403,文件夹不存在响应码:404
- 文件存在响应码:200,文件不存在响应码:404。
- 3XX:跳转,判断可有可无(不能放过)。
- 5XX:内部错误、服务器问题,判断可有可无(不能放过)。
后台开发人员为了验证客户端HTTP Header(比如常用的Cookie验证等)或者通过HTTP Header头信息获取客户端的一些信息(比如User-Agent、Accept字段等),会对客户端HTTPHeader进行获取并使用SQL语句进行处理,如果此时没有足够的安全考虑,就可能导致基于HTTP Header的注入漏洞。
(1)Cookie注入
常见场合:服务器对cookie字段进行获取,以验证客户端的身份。
(2)Referer注入
常见场合:服务器记录referer字段用于统计网站的点击量。
(3)User-Agent注入
常见场合:1)服务器记录访问者的信息,如浏览器版本、操作系统版本等;2)服务器根据User-Agent提供的信息来给客户端推送不同的网页。
User-Agent注入的sql语句一般使用insert
语句,例如sqli-labs的Less-18后端语句:
inset into security.uagents('uagent','ip_address','username') values ('$uagent','$ip','$uname')
其实也可以根据报错信息来判断后端语句:
故,注入后语句应该为:
(4)XFF注入
常见场合:一些网站的防注入功能会记录客户端真实IP地址并写入数据库。
可以在原时的HTTP请求包中添加头部字段
X-Forwarded-For
。
更多【网络-14、SQL注入——HTTP文件头注入】相关视频教程:www.yxfzedu.com