目录
payload processing(payload处理)的使用:
一、目录遍历
直接一个个目录翻,直到找到一个flag的文件
二、PHPINFO
页面很长,看flag会不会藏在里面,果然在Environment里发现flag。
1.phpinfo()
是什么?
phpinfo()是 PHP 中的一个函数,会输出关于 PHP 配置的信息。
该函数可以显示 PHP 的版本信息、编译器信息、模块信息、配置信息等,可以帮助开发者了解 PHP 的运行环境和配置信息。但使用该函数需要小心,确保不会泄露敏感信息。
2.phpinfo()的使用
在 PHP 代码中添加以下代码:
<?php
phpinfo();
?>
三、备份文件下载
(一、)网站源码
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
提示了几个文件名跟后缀,说明可能是存在路径访问备份文件。
1.使用dirsearch
dirsearch 暴力扫描网页结构(包括网页中的目录和文件)
1:python dirsearch.py -u https:// xxxx 扫描某个站点
2:python dirsearch.py -u http://xxxx -r 递归扫描
3:python dirsearch.py -u http://xxxx -r -t 30 线程控制请求速率扫描
4:python dirsearch.py -u http://xxxx -r -t 30 --proxy 127.0.0.1:8080 使用代理进行扫描
状态码返回200的表示可以访问
url/www.zip,下载文件
发现下载下来并没有flag,在url直接访问文件名得到flag。
2.使用python脚本
找的一个python代码,实现 url + 备份文件名 + 备份文件后缀名拼凑在一起,并输出。
import requests
url1 = 'url'
# url为被扫描地址
list1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']
list2 = ['tar', 'tar.gz', 'zip', 'rar']
for i in list1:
for j in list2:
back = str(i) + '.' + str(j)
url = str(url1) + '/' + back
print(back + ' ', end='')
print(requests.get(url).status_code)
3.使用burpsuite爆破
Burp Suite中Intruder模块的使用详解_buresuit intruder-CSDN博客
bp抓取网页包,发送到Interder,使用Cluster bomb(集束炸弹模式)
在GET/后添加两个payload负载,一个文件名,一个扩展名
加入文件名
加入扩展名
文件名.扩展名 所以这里要加一个文本后缀.(点)
得到状态码为200的可访问文件名.后缀
payload processing(payload处理)的使用:
用于需要生成不寻常的Payload时,定义规则。
功能 | 解释 |
Add prefix | 在有效负载之前添加一个文本前缀。 |
Add suffix | 在有效负载之后添加一个文本后缀。 |
Match/replace | 用文本字符串替换与特定正则表达式匹配的有效负载的任何部分。 |
Substring | 从指定的偏移量(0索引)开始,直到指定的长度,提取Payload的子部分。 |
Reverse substring | 此函数与子字符串规则相同,但指定从有效负载的末尾向后计数结束偏移量,并从结束偏移量向后计数长度。 |
Modify case | 修改有效负载的大小写(如果适用)。与Case modification payload类型相同的选项也可用。 |
Encode | 使用各种方案对负载进行编码:url、html、base64、ascii hex或为各种平台构建的字符串。 |
Decode | 使用各种方案解码负载:url、html、base64或ascii hex。 |
Hash | 对负载执行散列操作。 |
Add raw payload | 在当前处理值之前或之后添加原始有效负载值。 例如:如果需要以原始和哈希形式提交相同的负载,那么它可能很有用。 |
Skip if matches regex | 检查当前处理的值是否与指定的正则表达式匹配,如果匹配,则跳过负载并移到下一个。 例如,如果知道参数值必须具有最小长度,并且希望跳过列表中小于此长度的任何值。 |
Invoke burp extension | 调用一个burp扩展来处理有效负载。扩展必须注册了入侵者有效负载处理器。可以从当前加载的扩展注册的可用处理器列表中选择所需的处理器。 |
Select rule type | *选择规则类型 |
Payload Encoding(有效载荷编码)
对这些字符进行编码
4.使用御剑扫描
(二、)bak文件
打开环境,发现提示flag在index.php里
将index.php加到链接后面看看,发现没用
查看源代码,提示有个bak备份文件下载
整理一下思路,题目说的就是flag在index.php.bak文件里,访问路径下载文件,得到flag
(三、)vim缓存
题目描述:
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
vim交换文件名
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。
以 index.php 为例:
第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
原文链接:https://blog.csdn.net/weixin_52250313/article/details/115871015
使用dirsearch扫描,找到200的可以访问路径,下载url/.index.php.swp
.swp是隐藏文件,需要index前加个"."
Vim编译器是Linux操作系统,打开kali,没有vim的话要先安装vim。
将文件index.php.swp传入kali,用vim打开文件,在最后发现flag。
用typora打开文件,可直接找到flag
(四、).DS_Store
题目描述:
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
与上一题的隐藏文件swp类似,在url后面加上“/.DS_Store ”访问下载文件
直接用记事本打开是乱码的
拖到kali,使用cat查看,可以得到一串字符$4cc76379fc718394382236fe1583ee14.txtnoteustr,后面说flag here!
故在url访问该txt文件,得到flag。