欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

基于Http Header的SQL注入的方法详解

程序员文章站 2022-07-03 10:58:27
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。... 12-06-27...
通常http消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。http的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
如下图:
get / http/1.1
connection: keep-alive
keep-alive: 300
accept:*/*
host: host
accept-language: en-us
accept-encoding: gzip, deflate
user-agent: mozilla/5.0 (windows; u; windows nt 5.1; en-us;
rv:1.9.2.16) gecko/20110319 firefox/3.6.16 ( .net clr 3.5.30729; .net4.0e)
cookie: guest_id=v1%3a1328019064; pid=v1%3a1328839311134
如何执行一个http头的sql注入?
下载插件cookie管理插件
打开cookie管理器,然后单击目标网站 
基于Http Header的SQL注入的方法详解
编辑目标网站的cookie,来验证目标网站是否存在http头的sql注入,我们编辑变量language_id的字段内容,添加单引号’刷新页面来判断。
 基于Http Header的SQL注入的方法详解
刷新页面,判断是否存在sql注入漏洞
 基于Http Header的SQL注入的方法详解
ok,下载插件tamper-data来修改请求的数据内容。
 基于Http Header的SQL注入的方法详解
输入一个sql注入语句
基于Http Header的SQL注入的方法详解 
如果我们输入order by 5– ,会报以下错误。
 基于Http Header的SQL注入的方法详解
所以可以判断得出用户表列为4,再使用cookie管理器,添加以下代码在language_id字段里面:
-1+union+all+select+1,2,3,4
或者输入下面的语句得到数据库用户或版本信息等。
version()
user()
concat(database())
group_concat
用sqlmap注入起来会更简单,后续会带来sqlmap的相关文章 :)
 基于Http Header的SQL注入的方法详解