[羊城杯 2020]Blackcat

开启靶场,复制粘贴到浏览器地址栏中

右键查看源代码:

发现有注释,注释让我们去关注那首歌,下载下来用010editor打开,直接Ctrl F关键词查找POST,发现有段代码:

复制粘贴到新建文本文档.txt中方便阅读:

不知道为什么会有乱码,但问题不大,下面是真正的代码,可以看出确实对我们阅读理解这段代码影响不大


(注意:||表示前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果)

POST传入Black-Cat-Sheriff和One-ear,绕过第一个判断


(注意:hash_hmac($algo, $data, $key);表示当传入的$data为数组时,加密得到的结果固定为NULL)

POST传入White-cat-monitor,绕过第二个判断,且传入的是数组使$clandestine为NULL,即将下一个加密的密钥置空


POST传入的Black-Cat-Sheriff与加密后的One-ear相同,绕过第三个判断,然后执行echo exec("nc".$_POST['One-ear']);表示成功


用dirsearch扫一下网站加不加上/index.php都无所谓,但一般还是加一下比较好,扫描主要是扫目录下的文件,这里我忘记扫了,拿别人的图演示一下:

可以看到有个flag.php,根据之前的经验,用cat flag.php(没有什么过滤的情况下)


那payload如下:

Black-Cat-Sheriff=xxxxx&One-ear=;cat flag.php&White-cat-monitor[]=1

之后就是去获取Black-Cat-Sheriff的值


这里费了点时间去配置vscode的php运行配置:

(安装php拓展和下载php.exe和在json文件中填写php.exe的路径)

构造POC:

<?php
var_dump(hash_hmac('sha256',';cat flag.php',null));
?>

用hackbar进行操作:

Black-Cat-Sheriff=04b13fc0dff07413856e54695eb6a763878cd1934c503784fe6e24b7e8cdb1b6&One-ear=;cat flag.php&White-cat-monitor[]=1

得到flag了,改成NSSCTF{}的格式:

NSSCTF{y0u_mu3t_p@y_atTentiou_!0_lt}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值