web安全|渗透测试|网络安全02天

转载 发布者:跃20 发表于:2022-07-21

02天-基础入门 数据包拓展

http/s数据包


代理软件,可以分析出request报文中的内容,我们可以更改request请求报文,而再把报文发送给服务器。可以实现伪造攻击。而代理收到response报文后,也可以更改报文相应的内容,之后在发送给浏览器。

http报文截获之后是明文的,可以看到里面的内容。而https截获截获之后是密文的,看不到里面的内容。

上图是https的访问过程:对于https的访问过程,首先需要客户端下载https证书,之后才可以通讯。
http简要通讯流程:
建立连接->发送请求数据包->回应请求数据包->关闭连接
1.浏览器建立与web服务器之间的连接
2.浏览器将请求数据包打包(发送请求数据包)并发送到web服务器
3.web服务器将结果打包(生成响应数据包)并发送给浏览器
4.web服务器关闭连接

request请求数据包格式
1.请求行:请求类型/请求资源路径、协议的版本和类型
2.请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
3.空行:请求头与请求体之间用一个空行隔开。
4.请求体:要发送的数据(一般POST提交会使用);例:user=123&pass=123

请求行
请求行由三个标记组成:请求方法、请求URL和HTTP版本
GET /index.html HTTP/1.1
HTTP定义了8中可能的请求方法

请求头
有关键字的键值对组成,每行一堆,关键字和值使用冒号分开。



注:referer是从哪个地址跳转过来的,即跳转的ip地址。

Response返回数据包数据格式
一个响应由四个部分组成:状态行、响应头标、空行、响应数据


可以根据返回的这个状态吗?判断返回的文件或者文件夹是否存在。
其中御剑和铸剑都是利用请求的地址链接,判断返回的状态号,以此来判断,该网站和该目录是否存在。另外类似wse和wireshark等抓包工具可以看到网络请求的数据包。以此来分析御剑的请求原理。
很多工具都是比较灵活的,本质都是代码,所以,你只有理解他工作的原理,你用起来才更得心应手。

Burp的原理是,当浏览器设置代理之后,burp从代理ip端口监听,若收到数据包之后,burp的操作可以丢弃也可以转发,怎么回复到主机都是有burp控制的。

对于Burp抓包的话,若是浏览器设置代理,那么浏览器发送的报文,你便可以从中更改,user-agent这是用户的浏览器版本,你可以抓包之后改成自己需要的,也可以在这里面加上代码,便可以执行。
例子:例如微信投票,你要是用电脑登陆的话,可能等不了,但是你可以更改user-agent,或者有的检查ip地址,你可以弄一个ip地址池,进行代理。
上面的这个例子是第三方检测修改实现XSS攻击,通过burp截取数据包,然后更改数据报的信息,当获取到服务器的信息,在通过burp更改数据报里面的内容。

下面是一个例子通过app访问网页有返回内容,但是通过网页访问没有返回值。上面的是app访问,下面的网页访问

【明显可以看出来区别pc没有x-requested_with信息,user-agent也不同】
当你要对app进行渗透测试,首先要抓取一个app的数据包,之后在抓取一个网页的数据包,首先要保证使用pc正确的访问网站内容,之后才考虑注入点的问题。

【例题】
例1

在百度里面点击新闻页面,抓包结果如下

其中Referer: https://www.baidu.com/的意思是在百度页面点击的新闻,所以跳转到新闻页面,所以,referer意思是跳转之前的网页。
题目如下:

点击按钮提示如下:

根据这个提示,我们可以想到通过更改Referer设置为google.com。

可以更改上面的内容便得到key值

例2

首先抓包

可以看出来是get请求,content是很长的子串,所以思路是通过post请求发送。但是post的数据包不能直接将get的数据包直接改成post,因为,get和post数据包的内容不同,不能直接改发送的状态。必须先将post数据包截取一个

将改数据包的content改成对应的内容。还有一点注意的,若是content关键字,不能有空格,不能多一点内容,要不然回显不正确。

若是下面的内容则正确显示key值

例3
题目如下

首先抓包分析

根据提示,可以看出来每个ip地址只能投一票,可以查查php限制ip地址的方法有哪些,之后看看这些方法有什么漏洞。
发送到intruder,添加一个变量。将ip地址设置为变量

之后给该位置设置一个阈值,允许他变动的范围
点击下面开始攻击在这里插入图片描述

得到key值的结果如下

该题目利用x-forward-for改变ip地址,其实本质是利用php代码的漏洞,burp是使用Java编写的。

声明:本文来自用户分享或转自网络,版权属于原作者,内容中的观点不代表编程技术网的观点。文章内容如有侵权,请联系管理员(QQ:3106529134)删除,本站将在一月内处理。
来源:https://blog.csdn.net/haxixihaha/article/details/120914371