迷了路
-
打开端口链接,查看源码,什么都没发现
-
开启代理抓包,观察现象,看见language结合地图,想到和语言,国家有关
有关accept-language介绍:https://blog.csdn.net/qq_40491569/article/details/83472556
有关accept-…的介绍:https://www.rfc-editor.org/rfc/rfc7231#section-5.3.5 -
根据国旗顺序找到accept-language的属性,如下
美:en-us;
英:en-gb;
法:fr-FR;
德:de;
日:jp;
韩:kor;
西班牙:esp;
瑞典:sve; -
接着对accept-language属性进行逐一修改,得到flag
flag=flag{Thisis_hetianlab@}
Check your source code
-
打开页面,查看源码,发现source.txt
-
直接访问source.txt,观察源码。进行代码审计
-
直接抓包破解,post[username=admin],[passwd=a],放包,发现cookie
-
代码审计后直接base解码为
88adminadmin
,所以secret的值就是88.base64=ODg=
,接着修改cookie的值/添加check=ODg=admina
,得到flag=flag{welcome_to_htlab}
Easy upload
- 打开后,明显文件上传,只能提交png,jpg,gif三种形式的文件,这里直接再虚拟机中找到jpg格式文件
- 开启代理抓包,先放包,如下
- 直接将filename改为所提示,接着下一步
- 文件内容要有fivemeflag,直接赋值内容,随便放到下面二进制中即可(最好放在文件尾,不破坏文件结构)
套娃一样的上传
- 打开网页,查看源代码,仅仅是一段web代码,注释让上传一个脚本文件,但上传只能识别图片文件,所以还是抓包修改,看返回结果
2. 脚本文件,就是php哪一类的web解释文件,而apache服务器在解析php码时会有漏洞
解析时会从文件的文件尾判断文件的类型,解析漏洞之一就是,若无法识别文件后缀名,向左进行延申解析,
详细可见:https://blog.csdn.net/weixin_44174581/article/details/119387616
- 看接下来的提示,mime类型,其实就是“浏览器需要使用相应的程序来处理送到浏览器的内容”
详见:https://www.runoob.com/http/mime-types.html
所以php,php7,php5,php4php3,php2,php1,html,htm,phtml,pht 等等
都会被解析为php文件,作为白名单进入脚本执行行列;设置绕过白名单进入即可
- 过了第二层,下一层说有17张牌,开始判断意思,将文件名设置为17位,以及将文件名+后缀设置为17位尝试,都不对,迷茫…
- 交给度娘,知道了内容也能改为17位,可将下面红色内容全部删掉,自定义为17位,仍旧不对(可能是我操作问题吧),另一种方法就是,
记事本输入17位-->后缀改png-->抓包修改phtml-->得到flag