CTF web实战

迷了路

  1. 打开端口链接,查看源码,什么都没发现
    pic1
    pic2

  2. 开启代理抓包,观察现象,看见language结合地图,想到和语言,国家有关

    pic3
    有关accept-language介绍:https://blog.csdn.net/qq_40491569/article/details/83472556
    有关accept-…的介绍:https://www.rfc-editor.org/rfc/rfc7231#section-5.3.5

  3. 根据国旗顺序找到accept-language的属性,如下

    美:en-us;
    英:en-gb;
    法:fr-FR;
    德:de;
    日:jp;
    韩:kor;
    西班牙:esp;
    瑞典:sve;

  4. 接着对accept-language属性进行逐一修改,得到flag
    flag=flag{Thisis_hetianlab@}
    pic4

Check your source code

  1. 打开页面,查看源码,发现source.txt

    pic1
    pic2

  2. 直接访问source.txt,观察源码。进行代码审计

    pic3

  3. 直接抓包破解,post[username=admin],[passwd=a],放包,发现cookie
    pic4

  4. 代码审计后直接base解码为88adminadmin,所以secret的值就是88.base64=ODg=,接着修改cookie的值/添加check=ODg=admina,得到flag=flag{welcome_to_htlab}pic5

Easy upload

  1. 打开后,明显文件上传,只能提交png,jpg,gif三种形式的文件,这里直接再虚拟机中找到jpg格式文件
    pic1
  2. 开启代理抓包,先放包,如下
    pic2
  3. 直接将filename改为所提示,接着下一步
    pic3
  4. 文件内容要有fivemeflag,直接赋值内容,随便放到下面二进制中即可(最好放在文件尾,不破坏文件结构)
    pic4

套娃一样的上传

  1. 打开网页,查看源代码,仅仅是一段web代码,注释让上传一个脚本文件,但上传只能识别图片文件,所以还是抓包修改,看返回结果

pic1

pic2
2. 脚本文件,就是php哪一类的web解释文件,而apache服务器在解析php码时会有漏洞

解析时会从文件的文件尾判断文件的类型,解析漏洞之一就是,若无法识别文件后缀名,向左进行延申解析,
详细可见:https://blog.csdn.net/weixin_44174581/article/details/119387616

pic3

  1. 看接下来的提示,mime类型,其实就是“浏览器需要使用相应的程序来处理送到浏览器的内容”

    详见:https://www.runoob.com/http/mime-types.html
    所以php,php7,php5,php4php3,php2,php1,html,htm,phtml,pht 等等都会被解析为php文件,作为白名单进入脚本执行行列;设置绕过白名单进入即可
    pic4
  2. 过了第二层,下一层说有17张牌,开始判断意思,将文件名设置为17位,以及将文件名+后缀设置为17位尝试,都不对,迷茫…
  3. 交给度娘,知道了内容也能改为17位,可将下面红色内容全部删掉,自定义为17位,仍旧不对(可能是我操作问题吧),另一种方法就是,记事本输入17位-->后缀改png-->抓包修改phtml-->得到flag
    pic5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值