Web安全解题基础三件套思路
- 信息收集与目录扫描
- 御剑扫描:探测网站目录结构,找潜在可访问路径,如管理员后台等目录。
- dirsearch扫描后台目录:配置参数后扫描,分析返回有意义状态码的目录,可能包含后台管理界面等关键区域。
- 源代码分析
- 查看源代码:包括直接查看页面源代码(分析HTML、CSS、JavaScript代码中的注释、表单、逻辑漏洞等)和获取服务器端源代码(若可获取)分析业务逻辑与安全机制。
- 代码注释信息分析:查找安全相关、敏感信息及功能模块注释,了解系统薄弱环节和可能存在的漏洞方向。
- 网络流量分析 - Burp Suite抓包
- 配置浏览器代理指向Burp Suite,启动抓包功能。
- 分析拦截的请求参数(找可利用漏洞)、响应内容(寻敏感信息)、HTTP状态码(查服务器问题),对HTTPS流量需配置证书解密分析。
bugku中web题-source
1、安装dirsearch
git clone https://github.com/maurosoria/dirsearch.git
进入克隆后的目录cd dirsearch,使用pip install -r requirements.txt来安装依赖项。但kali中不允许使用pip安装,可以建立虚拟环境,在虚拟环境中安装根据requirements.txt的中的内容一项项在虚拟环境中安装
sudo apt install python3-venv
python3 -m venv myenv
source myenv/bin/activate\n
pip install Jinja2==3.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install defusedxml==0.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyopenssl==21.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests==2.27.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests_ntlm==1.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install colorama==0.4.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install ntlm_auth==1.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install beautifulsoup4==4.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install mysql-connector-python==8.0.20 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install psycopg[binary]==3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install psycopg[binary]==3.1.12 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install defusedcsv==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests-toolbelt==1.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install setuptools==66.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install httpx==0.27.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install httpx-ntlm==1.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
#在安装setuptools时显示版本问题,需要更新
python -m pip install --upgrade setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple\n
2、使用dirsearch扫描靶机web网站后台目录
3、寻找flag
可以查看一下目录下的文件,flag.txt中和源码中都不是正确的flag,大概率在.git文件目录下,
下载.git文件(-r参数表示递归下载,它会下载指定 URL 下的所有文件和子目录),下载后文件在输入wget命令的目录下
wget -r http://114.67.175.224:19997/.git
下载后,进入下载的文件目录下,输入git reflog命令(是为了查看这个代码仓库的历史版本记录,以便找到可能包含flag的历史版本。通过查看引用日志,找到之前的提交版本信息,比如某个提交可能包含了真正的flag,这样就可以通过查看这些历史版本来寻找解题线索。),可以看到多次提交记录,使用git show可以查看每个提交的详细内容,包括作者提交的信息、修改的文件内容等。
成功找到正确的flag