| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 【SQL注入-12】http头部注入案例—基于Sqli-labs靶机(借助BurpSuite工具) -> 正文阅读 |
|
[网络协议]【SQL注入-12】http头部注入案例—基于Sqli-labs靶机(借助BurpSuite工具) |
目录本博客内容仅供学习探讨,请勿滥用乱用 1 概述http头部注入是指注入字段在http请求头中的字段中,这些字段通常有User-Agent和Referer等。 1.1 User-Agent概述User-Agent:是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供客户所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。 UA字符串在每次浏览器 HTTP 请求时发送到服务器!浏览器UA 字串的标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 、渲染引擎标识、 版本信息。 User-Agent注入:User-Agent 注入其原理也和平时的注入一样,只不过说我们是将提交的参数以 User-Agent 的方式提交,属于http头部注入的一种。 1.2 Referer 概述Referer :是 HTTP 请求头的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.sojson.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=https://www.sojson.com。 Referer 的作用:指示当前请求是从哪里链接过来 Referer 注入:referer注入其原理也和平时的注入一样,只不过说我们是将提交的参数以referer的方式提交,属于http头部注入的一种。 一般的注入我们是使用get或者post方式提交:
2 实验平台及实验目标2.1 实验平台(1)靶机:——虚拟机(IP为172.16.1.1):本节实验靶场是在win2008系统上基于phpstudy搭建的一个sqli-labs漏洞靶场,win2008及phpstudy的安装过程可以参考《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》,sqli-labs漏洞靶场的搭建可以参考《【环境搭建】基于WAMP环境的sqli-labs漏洞靶场的搭建》 (2)注入机:——kali虚拟机,为了方便发送Cookie,本实验利用BurpSuite来进行注入实验,BurpSuite的安装过程可以参考文章《【Burp Suite工具-1】BurpSuite简介及安装过程详解(含please supply the following JVM argument错误提示原因)》。 (3)靶机与kali虚拟机桥接到同一局域网中。 2.2 实验目标获取网站后台数据库账号及密码。 3 User-Agent注入案例—以sqli-labs-Less18为例3.1 注入前准备(1)打开靶机虚拟机,并打开phpstudy,并启动。 (2)kali虚拟机上打开火狐浏览器,并使用火狐浏览器的访问靶机sqli-labs的Less18,打开页面如下。 (3)输入账号密码为Dumb,点击登录,出现以下页面: (4)kali虚拟机,设置火狐浏览器的使用代理功能。设置步骤如下:单击浏览器右上角“菜单图标”,依次单击“Settings”→“Settings”→“设置网络代理”→“设置”→“手动配置代理”,示, 设置HTTP代理为127.0.0.1 , 端口为8080 ,与Burp Proxy 中的代理一致。
3.2 判断注入点及注入类型正常流程应该是先判断能否在常规位置进行注入,实在没有的情况下再找http头部信息能否注入,本节实验省去了测试其他位置能否注入的过程,仅为演示如何进行user-agent注入。 (3)修改参数为 (6)修改参数为 3.3 获取库名表名字段名字段内容(1)获取库名。修改参数为 (2)获取表名。修改cookie参数为 (3)获取字段名。修改参数为 (4)获取用户数量。考虑到updatexml()函数回显字符长度有限,先获取用户数量,再逐个获取用户名与密码。修改参数为 (5)获取第一个用户账号及密码。修改参数为 3.4 实验结果(1)实验成功爆出网站后台数据库账号及密码。 4 Referer注入案例—以sqli-labs的Less19为例4.1 注入前准备(1)打开靶机虚拟机,并打开phpstudy,并启动。 (2)kali虚拟机上打开火狐浏览器,并使用火狐浏览器的访问靶机sqli-labs的Less19,打开页面如下。 (4)kali虚拟机,设置火狐浏览器的使用代理功能。设置步骤如下:单击浏览器右上角“菜单图标”,依次单击“Settings”→“Settings”→“设置网络代理”→“设置”→“手动配置代理”,示, 设置HTTP代理为127.0.0.1 , 端口为8080 ,与Burp Proxy 中的代理一致。
4.2 判断注入点及注入类型正常流程应该是先判断能否在常规位置进行注入,实在没有的情况下再找http头部信息能否注入,本节实验省去了测试其他位置能否注入的过程,仅为演示如何进行referer注入。 (3)修改参数为 (4)修改参数为 4.3 获取库名表名字段名字段内容获取库名。修改参数为test’ and updatexml(1,concat(0x7e,database(),0x7e),1) and ‘1’='1,此处在语句最后加上了一个恒等式,一方面是为了闭合后台语句的单引号,另一方面是为了保证当我们语句拼接如后台后不影响后续语句的运行,这是该闭合方式比采用#号等方式的高明之处。通过该参数,我们爆出了该网站所在数据库名。 获取表名字段名字段内容与3.3节类似,只是注入字段在refer中,因此此处不再一一赘述。 4.4 实验结果(1)实验成功爆出网站后台数据库账号及密码。 5 总结(1)了解user-agent的组成与作用; |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:56:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |