ssctf2017|Web

说是贴近实战,实际是虐Web狗,好想打死出题人啊0。0

注意!排版极差,内容极其混乱(因为不想仔细写了,太多细节了,太多戏了)

  1. Web100

看到有http://xxxxx/news.php?url=127.0.0.1/xxx.jpg

测试http://xxxxx/news.php?url=http:// 127.0.0.1/xxx.jpg

解析失败

测试http://xxxxx/news.php?url=127.0.0.1/http://dsadasd

利用404页面_dsadasd文件找不到

说明http被替换成_了

于是大写http

可以,于是换成大写的FILE协议

读到news源码,经证实,果然过滤了一堆东西

提示给了第二台内网主机的网段,测试之

http://xxxxx/news.php?url=10.xx.x.x/index.php

ok,然后查看源码看到第三台主机的网段

172.0.0.x

然后利用第二台主机的news.php再去读第三台主机,fuzz一下,得到FTP://172.0.0.x

读flag.txt

  1. Web 200

一个弹幕网站,测试了一些payload,可以X到人,但是感觉不是这样的

于是发现每一个新人进来,都会给一个公告弹幕:欢迎XXXXXXX

于是看到里面有个奇怪的url domain/xssbalabala(这里忘记了)/index.php

是一个xss平台,登陆(这里用万能密码)

进去后发现cookie里 有:you must be uid 1 to get flag

于是测试发现,这个xss平台本身就有XSS漏洞

提交一个XSS的内容到这平台(给admin)

然后admin 读取xss平台被X

然后你就能拿到admin的cookie

flag在里面

  1. Web300

通过题1继续内网渗透,发现第二台主机刚好是这题的主机

首先读一堆源码(发现好多都是静态的

甚至还有假装自己是sql注入的。。。。太傻逼了。。。感受下。。。

C:\Users\wupco\Documents\Tencent Files\827977014\Image\C2C\Image1\)@GF7EV{JKZTT1Y[T)6T[E2.png

),甚至还能下载到wwwroot.zip(里面都是假消息填充的文件)

然后submit.php一个insert注入(http-header注入),发现表里都是无用信息,

最后发现是个XSS,submit 通过insert注入XSS payload到第四个字段里,拿到管理员的

referrer,读源码,发现是个XSS平台,里面有个js.php(真的套路),读到flag…..

  1. Web 500 webhook

拿到源码审计,发现

flask注入,然后读一下repos变量,就能读到json的内容(被记录在那个webhooklog里,可以未验证访问)

内容是这样的

C:\Users\wupco\AppData\Roaming\Tencent\Users\827977014\QQ\WinTemp\RichOle\RN4YUB8R1[5MZ4Q{1~396ZP.png

加密方式是这样的。。。私钥怎么办呢??

这里flask注入不能读私钥变量,会报错。。

于是解密了一个弱口令 我记得那个老哥叫 fuckssctf

然后猜到私钥是ssctf

于是就可以添加用户了

C:\Users\wupco\Documents\Tencent Files\827977014\Image\C2C\Image1\~(DQGTS]]M{(TBD6A8JU04P.png

然后就是审计其他功能

发现 每次push之后都会对这用户进行build操作

(从你的github里clone项目,然后读取项目中名为build.json的文件,找到include和exclude对象,然后当作地址拼凑到rootpath,再到地址对应的目录下,把所有的文件push了,然后生成zip返回给你)

于是就可以读任意目录

然后就是读目录,注意不能读内容太多的,否则会压缩失败

最终拿到/home/www-root/下的ssh私钥

在自己机子上git pull 把flag文件取出来,就OK

  1. Web 500

发现一个注入(只允许括号和引号,另外过滤了or,and等(遇到这样的单词双写))

C:\Users\wupco\Documents\Tencent Files\827977014\Image\C2C\Image1\RXLY$M_J907$IK[TOKKB@UQ.png

跑到 表 dedecms 和user

user 里面跑到用户名和密码

密码是20位hash

结合dedecms,去掉头3位,去掉尾1位

得到16位hash

cmd5 解之

拿到密码登陆

发现.swp文件泄露

那道源码。关键位置

反序列化漏洞结合文件包含漏洞

首先绕过

用php://input

构造 1234

然后

反序列化正则绕过用o:+4:{} 中间加个+号不影响解析,还能绕过正则

然后是绕过

用php://filter

最终读到flag

  • 用支付宝打我
  • 用微信打我

发表评论

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