字典:https://www.123865.com/s/YZfgjv-T4dxH提取码:HHvW
集成⼯具箱:https://www.123865.com/s/YZfgjv-h4dxH提取码:Ahni
yakit:https://yaklang.com/products/intro/
Burp Suite 是用于攻击web 应用程序的集成平台
测试网址:http://www.astechnic.net/en/admin/login.php
https抓包:导入证书-打开Burp Suite-代理设置-导入/导出CA证书-导出DER格式的证书-下一个-选这文件-桌面-起名aaa.der-保存
导入证书到浏览器-打开火狐浏览器设置选项-输入证书-查看证书-证书颁发机构-导入保存在桌面证书-勾选显示出来信任选项-确定
配置burp远程代理服务器-打开Burp Suite-代理设置-添加-选择指定地址(填写真实电脑IP地址)-绑定端口8888-确认
yakit两种模式
免配置模式
手动配置模式
代理
计算机代理-代理整体计算机
浏览器代理-只能代理浏览器
OneForAll子域名搜集工具
网址-github.com/shmilylty/OneForAll
OneForAll使用
pip install -r requirements.txt -python批量安装文本里模块
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
我们以python3 oneforall.py --target example.com run命令为例,
OneForAll在默认参数正常执行完毕会在results目录生成相应结果
HTTP内容
1请求行
方法 URL 协议版本
GET /form/entry HTTP/1.1
POST /domainreliability/upload HTTP/1.1
几种请求方法(Get Post Head Put Trace Delete Option Connect)
请求方法
Get
Post
Head:与服务器get请求一样的回应,响应体不会返回
Put:向指定资源位置上传最新内容
Trace:回显服务器收到的请求
Delete:请求服务器删除url所标识的资源
Option:返回服务器特定资源所支持的HTML请求方法
Connect:http1.1协议能够将连接改为管道方式的代理服务器
Get和post的一些区别:
从功能上来讲:Get用来获取资源 post用来更新资源
从请求参数来讲:GET请求的数据会附加在url之后
get请求-https://www.baidu.com/请求数据-s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu
post请求会把提交的数据放到http请求报文的请求体中
-(也就是请求数据)
从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
从请求大小看:GET请求会受到限制,POST是没有限制的
-(也就是请求长度会受到限制)
2请求头-(不同网站请求头不一样)
Host: www.test.com/ //请求的目标域名和端口号-(如果没写端口号就是默认得基于协议来看)
Origin: http://localhost:8081/ //请求的来源域名和端口号 (跨域请求时,浏览器会自动带上这个头信息)
Referer: https:/localhost:8081/link?query=xxxxx //请求资源的完整URI(代表你从哪里来)
User-Agent //浏览器信息
Cookie: //代表了我的身份
Accept: text/html,image/apng //代表客户端希望接受的数据类型是html或者是png图片类型
*/*-(代表接受所有数据-根据当前页面功能点来定)
Accept-Encoding: gzip, deflate //代表客户端能支持gzip和deflate格式的压缩
Accept-Language: zh-CN,zh;q=0.9 //代表客户端可以支持语言zh-CN或者zh(值得一提的是q(0~1)是优先级权重的意思,不写默认为1,这里zh-CN是1,zh是0.9)
Connection: keep-alive //告诉服务器,客户端需要的tcp连接是一个长连接
If-None-Match //如果内容未改变返回304代码,对应Etag
If-Modified-Since //对应last-midified,未被修改则返回304代码
3请求行
4请求数据
响应头内容
1状态行
协议版本 状态码 状态码的原因短语
HTTP/1.1 200 200
2响应头部
Date: //服务端发送资源时的服务器时间
Server: //web服务器软件名称(中间件)
X-Powered-By: PHP/7.3.4 //后端语言版本
Expires: //缓存过期时间
Cache-Control: no-cache // 缓存方式
Content-Length: 5659 //服务端响应数据长度-意指前端代码
Etag // 文件内容hash
Last-Modified //最近一次文件修改时间
Content-Type: text/html; charset=utf-8 //编码格式
Content-Encoding: gzip //采用gzip对资源进行解码
Connection: keep-alive //tcp是长连接
Set-Cookie //设置Http Cookie
3响应正文
状态码内容
HTTP协议状态码表示的意思主要分为五类
1××:保留
2××:表示请求成功地接收
3××:为完成请求客户需进一步细化请求
4××:客户错误-(也可能会报Not Found)
5××:服务器错误
WEB渗透测试工程师系统班250303期 第8节课作业 一、什么是url? URL,统一资源定位符。
是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,
是互联网上标准资源 的地址。互联网上的每个文件都有一个唯一的URL,
它包含的信息指出文件的位置以及浏览器应该怎么处理它 二、常见的基本url语法是什么? 三、GET请求和POST请求的区别有哪些? 从功能上来讲:Get用来获取资源 post用来更新资源
从请求参数来讲:GET请求的数据会附加在url之后
get请求- https://www.baidu.com/请求数据-s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu
post请求会把提交的数据放到http请求报文的请求体中
-(也就是请求数据)
从安全性上来讲:POST比GET 更安全,因为GET请求会把提交的数据明文放在url栏,而POST 被包装在了请求体里面
从请求大小看:GET请求会受到限制,POST是没有限制的
-(也就是请求长度会受到限制) 四、常见的响应码有哪些?说明它们的含义。 404 文件未找到
500 内部服务器错误
200 请求成功
五、详细说明下列请求和响应数据包中每个字段的含义 请求 - POST /zb_system/login.php HTTP/1.1:表示使用POST方法向服务器的“/zb_system/login.php”地址发送请求,HTTP协议版本为1.1。
- Host:指定请求的目标主机IP 192.168.10.181 。
- User - Agent:包含了客户端浏览器和操作系统信息,这里表示使用的是Firefox 46.0浏览器,运行在Windows 10 64位系统上。
- Accept:说明客户端能够接受的响应内容类型 。
- Accept - Language:表示客户端优先接受的语言及权重。
- Accept - Encoding:指出客户端支持的内容编码方式,如gzip和deflate 。
- DNT:“Do Not Track”的缩写,值为1表示请求不被跟踪。
- Referer:记录了当前请求是从哪个页面链接过来的。
- Connection:设置连接状态,“close”表示请求完成后关闭连接。
- Content - Type:说明请求体的内容类型,这里是“application/x-www-form-urlencoded”,常用于表单数据提交。
- Content - Length:表示请求体的长度,这里为96字节
响应 - HTTP/1.1 200 OK:表示HTTP协议版本为1.1,状态码200意味着请求成功,“OK”是对状态码的文本描述。
- Date:服务器生成响应的日期和时间,这里是2023年8月9日,格林尼治标准时间06:28:32 。
- Server:显示了服务器的相关信息,包括使用的Apache版本2.4.39(运行在64位Windows系统上),以及OpenSSL版本1.1.1b ,还包含了mod_fcgid和mod_log_rotate模块及其版本。
- X-Powered-By:表明该网页是由PHP 7.3.4驱动-也就是用得那个框架
- Product:指出使用的建站系统是Z-BlogPHP ,版本为1.7.2。
- Connection:“close”表示服务器在发送响应后会关闭连接。
- Content-Type:说明响应内容的类型是HTML文本,字符编码为UTF-8。
- Content-Length:表示响应体的长度为5143字节
|