p2第02天:基础入门-数据包扩展

p2第02天:基础入门-数据包扩展

【小迪安全】web安全|渗透测试|网络安全(6个月线上培训全套)_哔哩哔哩_bilibili

网站解析对应

#简要网站搭建过程
涉及到的攻击层面?(源码,搭建平台,系统,网络层等)
涉及到的安全问题?(目录,敏感文件,弱口令,IP及域名等)

HTTP/S数据包

#Request请求数据包
#Response返回数据包

#Request请求数据包
#Proxy代理服务器
#Response返回数据包
代理服务器可以修改他们的返回数据或者请求数据。

https加密,更加安全,有加密协议

#HTTP/HTTPS具体区别?
#HTTP简要通信过程
建立连接——>发送请求数据包——>返回响应数据包——>关闭连接
1.浏览器建立与web服务器之间的连接
2.浏览器将请求数据打包(生成请求数据包)并发送到web服务器
3.web服务器将处理结果打包(生成相应数据包)并发送到浏览器
4.web服务器关闭连接

#HTTPS简要通信过程
Request 请求数据包数据格式
#Request请求数据包数据格式
1.请求行:请求类型/请求资源路径、协议的版本和类型
2.请求头:一些键值对,浏览器与web服务器之间都可以发送,特定的某种含义
3.空行:请求头与请求体之间用一个空行隔开
4.请求体:要发送的数据(一般用post提交会使用);例:user=123 & pass=123
#请求行
请求行由三个标记组成:请求方法,请求url和http版本,他们用空格分享
eg.GET /index.html HTTP/1.1

HTTP 规划定义了8种可能的请求方法
GET:检索URL中标识资源的一个简单请求
HEAD:与GET方法相同,服务器只返回状态行和头标,并不返回请求文档
POST:服务器接受被写入客户端输出流中的数据的请求
PUT:服务器保存请求数据作为指定URL新内容的请求
DELETE:服务器删除URL中命令的资源的请求
OPTIONS:关于服务器支持的请求方法信息的请求
TRACE:web服务器反馈HTTP请求和其头标的请求
CONNECT:已文档化,但目前未实现的一个方法,预留做隧道处理。
#请求头
由关键字/值对组成,每行一对,关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识

HOST:主机或域名地址

Accept:指浏览器或其他客户可以接受的MIME文件格式。Servlet可以根据它判断并返回适当的文件格式。

User-Agent:是客户浏览器名称

Host:对应网站URL中的web名称和端口号。

Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us,指英语

connection:用来告诉服务器是否可以维持固定的HTTP连接。http是无连接的,HTTP/1.1使用keep-Alive为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接

Cookie:浏览器用这个属性向服务器发送Cookie。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

Referer:表明产生请求的网页URL。如比从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,在向服务器发送的GET/icwork/search中的请求中,Referer是http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪web请求是从什么网站来的。
Content-Type:用来表名request的内容类型。可以用HttpServletRequest的getContentType()方法取得。

Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是ISO-8859-1。

Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。浏览器在接收到web响应之后先解码,然后再检查文件格式。
重点:Host、Cookie、Referer
#空行
最后一个请求头标之后是空行,发送回车符和退行,通知服务器以下不再有头标。
#请求数据
使用POST传送,最常使用的是Content-Type 和 Content-Length 头标。

Response返回数据包数据格式

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

1.状态行:协议版本、数字形式的状态代码和状态描述,个元素之间以空格分隔。
2.响应头标:包含服务器类型、日期、长度、内容类型等
3.空行:响应头与响应体之间用空行隔开
4.响应数据:浏览器会将实体内容中的数据取出来,生成相应的页面

HTTP响应码:
1xx(100-:信息,请求收到,继续处理
2xx:成功,行为被成功地接受、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误,自己访问的问题
5xx:服务器错误
一些常见的分类链接:大佬写的:https://seo.juziseo.com/doc/http_code/

200 存在文件
403 存在文件夹
3xx 均可能存在
404 不存在文件及文件夹
500 均可能存在

#响应头标
像请求头标一样,它们指出服务器的功能,标识出响应数据的细节。

#空行
最后一个响应头标之后是一个空行,发送回车符和退行,表明服务器以下不再有头标

#响应数据

最好三个都勾选,因为可能会出现误差。
扫描工具:御剑、铸剑
wsexplorer怎么用呀?
浏览器监听是8888

wireshark使用:

先看自己是哪个网卡,抓包就点哪个。一般是第一个有波段的,也可以自己查一下电脑,用ipconfig命令。

点击Ethernet0网段抓包。
可以看到它正在不断捕获数据。

我们先让他暂停,然后在御剑输入要扫描的网址,再用wireshark抓包。
网址用本地环回地址做实验。
还启动了小皮面板:PHP study,我没有用过这个,先下载一个试试。

这个phpstudy有个网站根目录,可以看到了里面的信息。

我们可以看到出现了些扫描信息,把他们停止,御剑停止不了,直接关了,把wireshark停止捕获,然后现在来观察它的扫描信息。
我们用过滤器过滤一下,只找http的数据包。

双击数据包,可以查看它的信息。

小迪抓出来的数据包信息比对。

抓包工具要回使用,数据包信息后面再找资料了解。

burp suite工具使用:

Burpsuite抓包修改测试
打开Firefox——选项——高级——网络——设置——手动配置代理——HTTP代理IP填127.0.0.1,端口号为8888,勾选为所有协议使用相同代理——确定。

然后,打开burpsuite。

从攻防世界找了个靶场。weak auth
把网址复制到Firefox。

打开bp设置。选择刚刚自己在火狐设置的代理。
Proxy——Options——Add or Edit已有的——填写刚刚在火狐设置的代理端口号和HTTP地址,选择specific address。
开启拦截状态。
Proxy——Intercept——Intercept is on——网页执行

出现错误,找了半天才发现刚刚burp suite的代理端口填错了,应该是8888,重新修改一下。

开启监听。

随便输入些数据。
其实应该会是自己跳转到bp抓包的数据页面,但是这里不知道为什么没有跳转,但是历史记录里面有变化,可以看到刚刚的数据包信息。

回到小迪的视频,刚开始bp跳转出来的信息,你需要分辨是否为你想要打开的,需要看数据头部的信息,因为有可能是浏览器自带的,点击forward往后找。

取消代理后,网页的信息又会显示出来。

可以用工具提交来判定是否文件存在。
PS:

浏览器代理有个“不使用代理”,如果本机访问网站,经常这里会有一个默认的localhost,127.0.0.1,所以代理时要把它清空,不然有可能本地访问网站会不抓数据包。设置127.0.0.1.端口号8888就是代表用本地访问地址8888,如果是8080bp也要改成8080,反正一定要对应上。
在监听中,相当于下图中被框起来的时段,现在正在被代理(bp)控制着,所以网页一直处于加载状态。如果bp选择forward,就会一直发送数据出去,网站就会继续加载;但如果选择drop,就会丢弃数据包,会显示打开失败。

涉及资源:
湘潭跃腊商贸有限公司 (bgsafe.cn)
墨者学院_专注于网络安全人才培养 (mozhe.cn)

敏感性文件扫描工具简要实现

第三方检测修改实现XSS攻击
IP/IPv6查询,服务器地址查询 - 站长工具 (chinaz.com)

一进去可以看到自己的IP地址,电脑系统信息,打开的浏览器信息,地理位置等等,而这些检测到的信息是通过我们访问数据包检测到的。tips:我们可以通过伪造数据包来伪造我们的信息,给他们检测。
但你会发现这个IP地址和你在电脑上ipconfig出来的主机IP地址不一样。这是因为 IP可以分为Public IP 和 Private IP。百度上搜索到的是公网IP,而我们自己看的是局域网里的IP,并且只有公网IP是能够连接互联网的,私网IP一般只做局域网。
更详细的解释在这篇博客:(1条消息) 为什么百度查到的ip和ipconfig查到的不一样;详解公网Ip和私网ip;详解网络分类ABC;_粥粥同学的博客-CSDN博客_百度ip和电脑ip有什么不同
利用数据包伪造信息:
对网页进行抓包

User-Agent:客户浏览器名称
现在试着在数据包修改这个部分,然后发送数据包给网页。

网站检测的信息变化了。

事例二:
输入一些开发语句。这个alter()之前碰过,是用于显示带有一条指定消息和一个 OK 按钮的警告框。

就会出现弹窗。

(突然发现我截屏的画质很模糊,原来视频没有开高清,手动狗头)
(评论说现在这个网站不可以这样修改了)
tips:如果你用电脑访问,可以把数据包信息改成和手机数据包类似的信息,然后访问,就可以绕过,被当成手机访问;同理,有些投票机制,会查是否为同一IP,避免统一用户多次投票的事情,如果这个投票机制检测的信息有可以绕过的可能性,我们也可以通过修改数据包来绕过。或者直接用代理,他检测到的是你的代理IP,投一次换一次代理IP。
数据包相关检验对比(APP与直接访问)
自己学习用burp suite配置HTTPS抓包方法
【burp】配置HTTPS抓包方法 - Lauren - 博客园 (cnblogs.com)
burpsuite默认抓取http网站,但是APP是有https网站信息的,所以我们需要配置burp suite,让他抓取https。
刚刚是本地浏览器抓包,所以用127.0.0.1
由于是抓APP的数据包,APP相当于单独一个网络,所以要新增一个,改IP。

他输入的IP地址好像是自己电脑的同一个局域网的,APP是可以设置自己的WiFi网络IP的。

打开截获, 在APP随便打开网站,都会发送信息到burp。
将抓到的数据包其中之一复制出来解读信息。

问:为什么信息不一样?
直接访问的数据包:

像图中的一个是安卓手机,一个是电脑,数据包信息不同,显示的页面也不一样。

将模拟器的数据包信息复制给刚刚本地浏览器抓包的数据包信息中,替换掉原有的,然后重新发数据。

翻车了,说是工具问题。
也可以在这里修改数据包信息,然后发送。

不知道弄了什么,又可以了。代理问题,而且网页管理员有做拦截。

用下图中框框处拼接起来,打开网址。

把数据包信息替换, 浏览器读的内容也是APP的内容。

CTF或实际应用中部分考题解析(mozhe)

网络安全模块都可以做做,完成三个实验就好,其他大同小异。
eg.来源页伪造:(这网站还要充值笑死,也可以自己搭建靶场。)

直接抓数据包。

这个referer表示从这个网站来的,题目要求我们从谷歌网站来,所以就要把referer改变。

发送。

(有人说攻防世界有同样的题目不用花钱)(有人说用火狐hackbar就可以有上面的url,不知道可不可以用)
eg.浏览器信息伪造:

要用iPhone和2g网访问。

发送。

eg.HTTP动作练习:

POST要写到最后面。

翻车了,可能是数据粘贴时有什么空格之类的。
再来一次:

又翻车了。
弹幕有人说:

好像是改了这里。

弹幕也有其他做法:

可以试试。
bugku也有这些题目。
投票系统设计缺陷:

数据包中加入这一行。

对刚刚的ggg投票抓包。
复制刚刚的命令。

现在有两个变量了。

然后start attack。

刚才是-1,不能投票。
又翻车了。

自己做练习:

(1)题目:来源页伪造

题目来源:来源页伪造_网络安全_在线靶场_墨者学院_专注于网络安全人才培养 (mozhe.cn)

分析过程:
打开网址,一个网页,点击中间那个。

发现只能从google进入。
应该是因为我们的进入口不对,我们可以通过抓包将发起端改成google。

将firefox改成Google。
弄错了,他们说是修改referer。

referer才是检测从哪个网页转过来的。
User—Agent是客户浏览器名称。

将referer改成google.com
http://google.com/index.html

mozhe52b67b7390c48ea9664dc0c2c78

(2)题目:浏览器信息伪造

题目来源:浏览器信息伪造_网络安全_在线靶场_墨者学院_专注于网络安全人才培养 (mozhe.cn)

分析过程:

要用iphone手机且必须为2g网络查看。
抓包看一下信息。

这里显示客户机浏览器型号为Linux系统Firefox。
上网搜一下iPhone UA库。

复制了 Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.18(0x17001233) NetType/WIFI Language/zh_CN
他说要2G网络,所以在NeType加个2G。
Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.18(0x17001233) NetType2G/WIFI Language/zh_CN

mozhe8c1da65f061fea214a91ac14f3b

答案应该是没有错的,不知道为什么它靶场环境下架了。
算了,不管他了。

(3)题目:HTTP动作练习

题目来源:HTTP动作练习_网络安全_在线靶场_墨者学院_专注于网络安全人才培养 (mozhe.cn)

分析过程:

抓包。

上网查一下get和post的区别。
get请求和post请求区别 - 简书 (jianshu.com)
1、GET请求一般用去请求获取数据,

    POST一般作为发送数据到后台时使用

2、GET请求也可传参到后台,但是其参数在浏览器的地址栏的url中可见,所以隐私性安全性较差,且参数长度也是有限制的

    POST请求传递参数放在Request body中,不会在url中显示,比GET要安全,且参数长度无限制

作者:Fairy_妍
链接:https://www.jianshu.com/p/a5cdfd2bda66
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
可以看到我们这个网站的请求信息太长了,get承受不了。
PHP数据接收变量 G E T 、 _GET、 GET_POST 、 R E Q U E S T 区别见下面的链接。 < b r / > [ ( 9 条消息 ) P H P 数据接收变量 _REQUEST区别见下面的链接。<br />[(9条消息) PHP数据接收变量 REQUEST区别见下面的链接。<br/>[(9条消息)PHP数据接收变量_GET、 P O S T 、 _POST 、 POST_REQUEST区别_木偶跳舞的博客-CSDN博客_php request](https://blog.csdn.net/u013372487/article/details/46009075)
关于不同浏览器不同的get数据信息大小:(9条消息) GET请求的长度限制?_珍惜时间小李的博客-CSDN博客_get请求长度限制
这段content太长了,get要变成post,然后把content放在最后面。
不知道为什么成功不了,他们说要加个content length。
有一个简单的方法就是右键变更请求。

自动变成这样。

mozhe24311984bdcf195948f73c45173

(4)题目:投票系统程序设计缺陷分析

题目来源:投票系统程序设计缺陷分析_网络安全_在线靶场_墨者学院_专注于网络安全人才培养 (mozhe.cn)

分析过程:
给他投票。

每天只能投一次。

抓包。
不知道为什么又打不开了。

(5)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用与更新说明 1.5.8 Beta 2018-01-28 一、增加了几个变量 %DomainNoPoint%为当前扫描目标域名去掉. wwwbaiducom %DomainUnderLine%为当前扫描目标域名将.换成下划线www_baidu_com %DomainCenterAndTldUnderLine%为当前扫描目标域名主体与后缀并将.换成下划线baidu_com %LastSubPath%为当前目标url最后一级目录 baidu.com/admin/data/ 则%LastSubPath%为data (注:此变量需要为Url加入/结尾,如未存在子目录则程序自动抛弃此行字典。) 1.5.7 Beta 2018-01-26 一、增加字典变量功能 目标域名为www.baidu.com的话 四个变量 分别是 %Domain% 为当前扫描目标域名www.baidu.com %SubDomain% 为当前扫描目标子域名www %DomainCenter% 为当前扫描目标域名主体baidu %DomainCenterAndTld% 为当前扫描目标域名主体与后缀baidu.com 二、给非head访 问增加返回长度功能通过返回长度可有效识别一些通过关键字无法识别的自定义404页面 三、修复若干bug并取消了启动弹框 1.5.6 Beta 2017-08-30 一、修复关闭后进程不推出的问题 二、修复cookie支持兼容问题 1.5.5 Beta 2017-08-19 一、修改开始按钮的显示状态为动态(根据线程状态判断) 二、恢复暂停按钮 1.5.4 Beta 2017-08-14 一、接受建议调整功能可以自由输入http头不止支持useragent和cookie 二、接受建议调整界面自定义404的输入框挪到左侧 三、接受建议取消暂停按钮将开始和停止按钮合并 1.5.3 Beta 2017-08-09 一、接受建议让结果表格自动下滑 二、接受建议修改对延时扫描时间的小数支持 三、修复多URL扫描的多处bug 1.5.2 Beta 2017-08-06 一、接受建议加入cookie功能 二、接受建议修改对URL的处理方法去掉多余的’/’ 三、对3xx结果显示跳转后地址http://www.xxx. xxx/admin/index.php ——–> login_redir.php 1.5.1 Beta 2017-08-05 一、修改若干细节 1.5 Alpha 2017-07-28 一、修复延时扫描处多个bug 二、优化线程 三、修复从快捷方式启动后都取字典失败的问题 四、扫描前URL编码解决部分误报问题 1.4 至安全学员内测版2017-07-21 一、修改最大并发连接为100 二、对输入Url进行智能处理获取最后一个’/’的目录进行扫描 三、增加工作线程数显示控制停止后开始前的线程是否全部退出检查 1.3 Alpha 2017-07-20 一、增加停止按钮 二、增加暂停按钮 三、拼接字典时自动根据字典类型增加/ 符号使扫描结果更精准 1.2 Alpha 2017-07-18 一、精确扫描结果识别跳转页面 二、对输入参数进行判断 1.1 Alpha 2017-07-18 一、增加列表内容不同常用状态码使用不同颜色的功能绿色为200 红色为403 二、增加点击列头后对列表内容排序的功能 三、增加右键导出结果功能 四、美化部分文本内容 五、点击开始会自动重置工具方便重复使用不必重新打开 六、增加自选加载字典模式可多选! 1.0 Alpha 2017-07-17 秉承着为人民服务的想法还有就是Windows下我确实没有什么功能比较全又稳定的此类工具了此前用过破壳扫描器和dirburte 都不稳定经常崩,御剑虽好但是缺少很多小功能。 不扯这些了介绍一下功能吧 一、先说说并发线程数吧,虽然默认是20 但是加大也无妨看你自己的各个参数设置和机器网络等配置了。 二、超时时间自己视情况而定也不必多介绍了。 三、这个随机xff头和xr头套用百度上一段话能懂得自然懂得不懂得也无所谓很少能碰见需要用到的这种情况勾选后每次访问都会随机生成这两个IP值如果线程开的大可能比较耗cpu。 1、X-Forwarded-For是用于记录代理信息的,每经过一级代理X-Forwarded-For是用于记录代理信息的,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For中,来自4.4.4.4的一个请求,header包含这样一行X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3代表请求由1.1.1.1发出,经过三层代理,第一层是2.2.2.2,第二层是3.3.3.3,而本次请求的来源IP4.4.4.4是第三层代理 2、X-Real-IP,一般只记录真实发出请求的客户端IP,上面的例子,如果配置了X-Read-IP,将会是X-Real-IP: 1.1.1.1 四、自定义User Agent头这个不必解释了吧。 五、自定义错误页面关键字这个针对修改了错误页面的网站的功能大家常用所以我也不在这里多啰嗦了。 六、http访问方法HEAD GET POST 三种方式,head请求扫描速度最快但是准确率不如以下两种,post请求是为某些情况绕过waf使用的。 七、延时扫描功能勾选效果是:单线程扫描、默认每隔2秒访问一次。适用于某些存在CCwaf的网站免于频繁访问被认为是CC攻击。(默认两秒已经能过云锁以及安全狗的默认CC设置) 八、扫描类型分别对应同目录下多个txt文件自定义对应的文件是custom.txt,后缀格式为”.xxx”,如不需要后缀可以不填直接将字典内容修改为”111.svn”此类即可。 九、状态码我也不多解释了 十、双击表格内某行即调用系统默认浏览器打开当前行Url 右键可复制Url内容。 十一批量导入的Url与填写的Url都需要以http:// https://开头的格式。 十二字典编码为UTF8如需使用含中文或其他特殊语言路径字典请修改字典文件编码为UTF8 另外说一句字典有点乱我也没有精力去仔细弄了希望有人能整理一份分享给大家也可以私下联系我我来收集整理多谢大家

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值