行业新闻

DVP黑客松大赛韩国站Web题目Writeup

DVP黑客松大赛韩国站Web题目Writeup

Writeup 1: Controllable Database Connection

本文由PeckShield漏洞研究总监Edward Lo撰写


打开网站提示“Please connect to the database first” 还有一个 Connect的链接 所以应该跟数据库有关

图片 1.png

点击链接后发现URI 多了/#mysql.php  看来是个提示

图片 2.png


访问mysql.php  提示 Error   常规套路扫一波源码

3.png

得到备份文件 /mysql.php.bak  获取到源码

4.png

发现连接地址、用户名、密码参数可控,看来考点是mysql伪造恶意服务端读取客户端文件,按照泄露的源码来看,应该是要读 /Flag.php 文件

5.png

通过连接自己公网开启的恶意mysql服务端读取成功读取到Flag.php 的源码

6.png

Flag.php 是一个简单命令执行绕过,限制使用eval、assert函数和长度不得超过11位,满足以上两个条件进入eval函数执行

7.png

我们可以使用反单引号执行命令,并通过$_GET传入我们需要执行的命令,长度刚好11个字符内

屏幕快照 2019-10-27 19.33.37.png

成功反弹shell 并获取到Flag

8.png



Writeup 2: Unsafe Access


打开网站只有一张logo和一个提示 6_79?很自然的就想到应该跟6379,redis有关

21.png右键查看源码发现一个被注释的链接

22.png

测试发现此接口存在SSRF漏洞

23.png

扫描备份文件获取到link.php的源码,只是简单的进行了一些过滤,限制了gopher和127、localhost 等字符

24.png

联系首页的6_79提示,看来这题是常规的SSRF配合Redis拿Flag。使用dict协议写入redis、使用0 代表当前IP或域名解析等方式即可绕过访问本地限制。尝试反弹或者写私钥,均没有成功应该是权限过低的原因,于是尝试写webshell,成功写入恶意代码,获取到Flag。

写入恶意代码:(? 等特殊符号需要转义,不然问号后面会导致截断无法写入)

26.png设置保存路径:

27.png

设置保存名字:

28.png

保存:

29.png

成功写入

25.png



关闭