前言
好像比赛的时候环境挺卡的,一直打不开题目。。然后就放弃了,佛系摸鱼,赛后记录
easy_calc
访问calc.php得到源码
1 | <?php |
发现输入不符合要求的数据时会返回403,猜测有waf,https://www.secjuice.com/abusing-php-query-string-parser-bypass-ids-ips-waf/
传入?%20num=xxx
就可以绕过
扫描根目录,看到flag文件为f1agg
1 | calc.php?%20num=var_dump(scandir(chr(47))) |
直接读文件
1 | calc.php?%20num=var_dump(readfile(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103))) |
赛后发现有师傅是用http请求走私做的,通过使用两个 “Content-Length”,构造一个畸形的http包绕过
easy java
弱口令登录,admin/admin888,发现只有一张图片,什么都没有
返回登录,发现存在/Download?filename=help.docx
,但是get并不能下载,改成post即可下载
尝试读取/WEB-INF/web.xml
得到flag所在位置
读取?filename=/WEB-INF/classes/com/wm/ctf/FlagController.class
即可getflag
后记
WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。WEB-INF主要包含一下文件或目录:
1 | /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。 |
simple_upload
1 |
|
thinkphp文件上传,在thinkphp中,限制后缀的是$upload->exts,因此可以忽略$upload->allowExts,由于题目中只限制了$_FILES[file]的上传后缀,也只给出$_FILES[file]上传后的路径,那我们上传多文件就可以绕过php后缀限制
1 | import requests |
根据前后俩文件名之间的差异来爆破php所在的文件名,访问getflag
Online Proxy
刚看到题目,以为是ssrf,后来发现是xff注入,撒都没过滤的注入
dict
不会。。8会go
phpshe
后续再看