前置技能1-http协议(请求方式+302跳转+Cookie+基础认证+响应包源代码)
一.题目链接:
二.基础知识
2.1 http/1.1定义的8种请求方式分别是?:
- 哪八种:
1.get--> 请求获取指定资源,用于数据的读取,不会产生副作用,eg:获取网页内容或API数据
2.post--> 向服务器提交数据(如表单,文件上传),可能导致资源创建或修改,eg:用户注册等
3.put--> 替换目标资源的所有当前表示,向指定资源位置上上传最新内容,eg:更新用户全部信息
4.delete--> 请求服务器删除指点资源,eg:删除一篇博客
5.head--> 与get类似,但仅请求响应头,不返回响应体,eg:预检文件大小或类型
6.trace--> 回显服务器收到的请求,主要用于测试或诊断
7.connect--> 建立与目标资源的隧道(通常用于https代理),eg:将请求转换为透明的TCP/IP隧道
8.options--> 获取目标资源支持的通信选项,eg:检查服务器是否支持PUT方法
2.2 介绍一下不同的重定向
1.301:-- >永久性重定向。该状态码表示请求的资源已被分配了新的URL,以后应使用资源现在所指的URL。也就是说,如果已经把对应的URL保存为书签了,这时应按Location首部字段提示的URL重新保存
2.302 -- >临时重定向。该状态码表示请求的资源已经被分配了新的URL,希望用户本次能够使用新的URL访问
3.303 -- >改状态码表示请求对应的资源存在着另一个URL,应使用GET方法定向获取请求的资源
4.307 -- >临时重定向。该状态码与302found有着相同的含义。尽管302标准禁止POST变换成GET,但实际使用大家并不遵守。307会遵循浏览器标准,不会从POST变成GET。但是,对于处理响应时的行为,每种浏览器有可能出现不同的行为。
利用场景:
301 --> 缓存投毒,持久化恶意跳转,诱导用户访问长期有效的恶意URL
302 --> 开放重定向,信息泄露,篡改location头进行钓鱼
303 --> 绕过POST限制,强制GET跳转参数暴露
307 --> http方法混淆,保持post方法触发后端逻辑漏洞
2.3 介绍一下burp里的custom iterator这个攻击载荷
- 概念:中文名:自定义迭代器的高级攻击载荷playload类型,准许组合多个不同的输入列表,并按照自定义规则生成复杂的测试数据。
- 核心功能:
1.多列表组合:将多个playload列表按规则拼接
2.灵活迭代:可以控制不同的迭代顺序
3.格式化输出:支持添加固定前缀,后缀或分隔符(如:admin:password)
2.4
三.开始解题
3.1.请求方式
1.它说只要用ctfhub请求的方法就把flag给我,于是我们尝试修改请求方法,将GET改为CTFHUB

2.通过burp抓包改包进行修改,成功

3.2.302跳转
1.题目说是重定向,那我们就先抓包重放,再发送,就可以得到flag了

3.3.cookie
1.阅读题目,什么??只有admin才能读取flag?于是抓包看看cookie中admin=0?改为1试试


3.4.基础认证
1.先读题目,看来和账户密码有关

2.得知附件是账户密码爆破常用的文本,于是使用burp爆破,先输入账户密码,再抓这个包,得到下面base64编码,我们解码看看,正是我们输入的账户密码


3.于是就选择在这两个地方进行爆,那么问题来了,要整成base64编码的样子吗?这个功能在burp里可以很好的实现,根据repeater重放,已经给了我们一个提示说,登录用户为admin

4.于是我们针对密码来进行爆破,操作如下
1.输入正确的登录名admin,随即输入一个密码,进行抓包:

2.攻击载荷这里一共设置三个参数:


3.点击爆破,找到长度不一样的密码,那个就是密码了

4.再添加base64加密这个选项,注意后面的正则匹配一定不能选


3.5.响应包源代码
1.果然题目就告诉了我们答案,直接F12查看源代码,就得到flag了哇!!


浙公网安备 33010602011771号