CTF-Web 工具整理
BUUOJ做了6页了,也接触和使用了不少Github上的工具, 一些工具我使用了简化的字母来代替具体的单词, 想着可以提高效率, 结果导致自己都记不住, 于是有了这篇文档。
1.dirsearch
- Dirsearch 是一种开源的目录和文件枚举工具,主要用于在 Web 安全测试中发现隐藏的目录或文件。它通过暴力破解的方法,使用预定义的字典(wordlist)对目标 URL 进行 HTTP 请求,从而发现目标服务器上可能存在的敏感文件或目录。
- 下载链接: https://github.com/maurosoria/dirsearch
使用方法
python3 /path/dirsearch.py -e * -t 10 --delay 1 -u www.example.com #使用alias可以简化方法 alias ds='python3 /path/dirsearch.py -e * -t 10 --delay 1 -u' ds www.example.com
2.githack
- GitHack 是一种轻量级的开源工具,专门用于检测和利用暴露在互联网上的
.git
文件夹。这种情况通常是开发者在配置错误时将.git
目录上传到了 Web 服务器,导致源代码、敏感配置文件甚至 API 密钥被泄露。 - 下载链接: https://github.com/lijiejie/GitHack
使用方法
python /path/GitHack.py http://www.openssl.org/.git/ #使用 shell 函数 可以简化方法 gh() { python3 /path/GitHack.py "http://$1/.git/" } gh www.example.com
3.sqlmap
- SQLMap 是一个强大的开源工具,专门用于自动化检测和利用 SQL 注入(SQL Injection)漏洞,同时支持数据库的全面渗透测试。它能够帮助安全研究人员、渗透测试人员快速定位和利用目标应用程序中的 SQL 注入漏洞,并执行一系列针对数据库的操作。
- 下载链接: https://github.com/sqlmapproject/sqlmap
使用方法
sqlmap -u "http://example.com/index.php?id=1" # 说明:-u 参数指定目标 URL,SQLMap 将尝试对 id 参数进行注入。 sqlmap -u "http://example.com/index.php?id=1" --dbs # 说明:--dbs 参数用于枚举目标系统的所有数据库。 sqlmap -u "http://example.com/index.php?id=1" -D database_name --tables # 说明:-D 参数指定数据库名,--tables 参数用于枚举指定数据库中的表。 sqlmap -u "http://example.com/index.php?id=1" -D database_name -T table_name --columns # 说明:-T 参数指定表名,--columns 参数用于列出指定表中的所有列。
4. tplmap
- Tplmap 是专为 SSTI 攻击设计的工具,支持检测和利用多种模板引擎。
- 下载链接: https://github.com/epinna/tplmap
使用方法:
python tplmap.py -u http://example.com/?name=1 #使用alias可以简化方法 alias tplmap='python3 /path/tplmap.py -u ' tplmap https://example.com/?name=1
5.php_mt_seed
- php_mt_seed是一个专门用来破解 PHP 的伪随机数生成器(PRNG,Pseudo Random Number Generator)的工具。这个工具的主要用途是通过已知的随机数序列,逆向计算出 PHP 中使用的 Mersenne Twister 算法的初始种子值,从而预测未来的随机数。
- 下载链接: https://github.com/openwall/php_mt_seed
使用方法:
./php_mt_seed 19 19 0 61 18 18 0 61 39 39 0 61 31 31 0 61 54 54 0 61 25 25 0 61 38 38 0 61 41 41 0 61 15 15 0 61 36 36 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 alias pms="/path/php_mt_seed" #使用alias可以简化方法 pms 19 19 0 61 18 18 0 61 39 39 0 61 31 31 0 61 54 54 0 61 25 25 0 61 38 38 0 61 41 41 0 61 15 15 0 61 36 36 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61 0 61
6.c-jwt-cracker
c-jwt-cracker
是一个针对 JSON Web Token (JWT) 的破解工具。JWT 是一种广泛使用的标准,用于在网络应用中安全地传输信息。它通常由三部分组成:头部(Header)、负载(Payload)和签名(Signature)。JWT 的签名部分通常使用对称或非对称加密算法来进行签名,以确保数据的完整性和真实性。- 下载链接: https://github.com/brendan-rius/c-jwt-cracker
使用方法:
./jwtcrack eyJhbGciOiJIUzI1NiVCJ9.eyJzdWIiOiIxMjM0NTW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE #使用alias可以简化方法 alias jc="/path/jwtcrack" jc eyJhbGciOiJIUzI1NiVCJ9.eyJzdWIiOiIxMjM0NTW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE
7.flask-session-cookie-manager
- flask-session-cookie-manager 是一个用于管理 Flask 应用程序中的会话(session)和 Cookie 的扩展工具,它使得在 Flask 应用中使用 Cookies 进行会话管理变得更加简便。Flask 本身提供了对会话管理的支持,但有时我们需要更多的功能或定制化的方式来管理会话数据,
flask-session-cookie-manager
就是为了解决这个需求而设计的。 - 下载链接: https://github.com/noraj/flask-session-cookie-manager
使用方法:
python flask_session_cookie_manager3.py encode -s 'your_secret_key' -t '{"username": "admin", "number": "123456"}' python flask_session_cookie_manager3.py decode -c 'your_encoded_cookie' -s 'your_secret_key' # 简化 fscme() { python /path/flask_session_cookie_manager3.py encode -s "$1" -t "$2" } fscmd() { python /path/flask_session_cookie_manager3.py decode -s "$1" -c "$2" } fscme 'your_secret_key' '{"username": "admin", "number": "123456"}' fscmd 'your_secret_key' 'eyJlZSI6ImVlIn0.Z2j14Q.zTbd_e3ZikI6EMBlzZRMt1UFN6k'
- 备注: 功能和Flask-Unsign有部分重合
8.phpggc
- phpggc 是一个 PHP反序列化漏洞 利用框架,专门用于通过利用PHP应用程序中的反序列化漏洞来执行远程代码执行(RCE)。它为渗透测试人员提供了一个工具集,使他们能够利用PHP的 反序列化机制(例如
unserialize()
函数)来攻击应用程序并触发恶意操作。 - 下载链接: https://github.com/wh1t3p1g/phpggc
使用方法:
./phpggc -l ./phpggc -u ThinkPHP/RCE2 'system("cat /flag");' # 简化 alias pg='/Users/enter/Project/ctf7001/phpggc/phpggc' pg -l pg -u ThinkPHP/RCE2 'system("cat /flag");'
9.rsa_sign2n
- rsa_sign2n 是一个用来执行 RSA签名攻击 的工具,位于 GitHub 上由用户 silentsignal 创建。它是一个示范性项目,用于利用某些数学漏洞攻击 RSA 签名,具体来说,是通过 签名模数攻击(Signatures Modulo n Attack)。这个攻击涉及到对RSA签名算法的一个数学弱点的利用,通常发生在签名验证过程中。
- 下载链接: https://github.com/silentsignal/rsa_sign2n
使用方法:
python jwt_forgery.py jwt1 jwt2 # 简化 alias jf='python /path/jwt_forgery.py' jf jwt1 jwt2
10.Flask-Unsign
- Flask-Unsign是一个 Flask 扩展库,用于通过猜测密钥来获取、解码、暴力破解和制作 Flask 应用程序的会话 cookie。
- 下载链接: https://github.com/Paradoxis/Flask-Unsign
使用方法:
# 获取和解码会话Cookies flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8' # 取消签名(暴力破解密钥) flask-unsign --unsign --cookie < cookie.txt # 签名 (会话操作) flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' #简化 fus() { flask-unsign --sign --secret "$1" --cookie "$2" } alias fud='flask-unsign --decode --cookie' fud 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8' fus 'secret' "{'logged_in': True}"
- 备注: 功能和flask-session-cookie-manager有部分重合, GPT给出以下表格:
工具 | flask-unsign | flask-session-cookie-manager |
---|---|---|
目标 | 解签名 Flask 会话 Cookie | 生成、解析、管理 Flask 会话 Cookie |
主要功能 | 解签名 Flask 会话 Cookie,提取原始数据 | 编码、解码、修改 Flask 会话 Cookie |
使用场景 | 渗透测试、CTF、Flask 安全研究 | 开发、测试、会话 Cookie 操作 |
签名算法 | 自动处理签名(主要用于分析和篡改) | 支持指定密钥并生成签名 Cookie |
简单示例 | flask-unsign --unsign --cookie <cookie.txt> | flask-session-cookie-manager encode --secret-key 'key' --data '{"username": "admin"}' |
已有 15 条评论
2月28日
这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。
2月28日
文章中的实用建议和操作指南,让读者受益匪浅,值得珍藏。
3月1日
这是一篇佳作,无论是从内容、语言还是结构上,都堪称完美。
3月1日
这篇文章如同一幅色彩斑斓的画卷,每一笔都充满了独特的创意。
3月1日
建议增加田野调查素材,提升真实性。
3月1日
?金句式评语?
3月2日
存在主义视角的介入提升了思想维度。
3月2日
结论部分可提出实际应用建议,提升价值。
3月2日
幽默外壳包裹严肃内核,寓教于乐。
3月2日
这篇文章如同一首动人的乐章,触动了读者内心深处的柔软。
3月2日
作者对主题的挖掘深入骨髓,展现了非凡的洞察力和理解力。
3月2日
文章紧扣主题,观点鲜明,展现出深刻的思考维度。
3月4日
作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。
3月4日
每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。
3月4日
文章深入浅出,既有深度思考,又不乏广度覆盖,令人叹为观止。