0%

[FireshellCTF2020]web wp

buu重拳出击!这个比赛的题目都还挺有意思的,做完之后觉得学到了些什么
有一个是一分题之前做过了,这次的两个不是一分,不过因为其相似性还是很有意思

URL TO PDF

就一个功能点,给url返回这个url内容的PDF,稍微试了一下,功能并不是很完整,很多内容加载不出来就进行了截图。然后测了一下能不能直接ssrf之类的,协议貌似写死了http(s),所以直接file不行的,支持重定向,但是重定向也不能改协议到file啊。计划1不通

那么进行经典ssrf扫端口,但是我觉得不告诉你内网端口硬扫的题目也挺坑的(应该不会有人出这么脑瘫的东西),试了几个常用端口无果之后开始想其他办法

阅读全文 »

巅峰极客2021

这次的题四个web,但是抄原题的抄原题,套娃的套娃,并且感觉题目的重复程度好高。。。虽然垃圾的我做不出来,但是我还是觉得这次的题目没有那种让人眼前一亮或者学到东西的感觉。。。

ezjs

魔改自XNUCA2020 oooooooooldjs,加载图片的地方可以任意文件读取,读了源码加package.json,然后npm audit看一下,能发现是打的一个express-validator的原型链污染,污染完了就是一个pug的rce,pug的rce是复制粘贴就能打的那种,express-validator的原型链污染也是复制粘贴就能打的,但是改了一个地方,原来的题目用了express.json支持json数据解析,所以json直接提交一个对象就能打通,这里没有json解析了,但是没有认真去了解过这个库是怎么处理数据的,不知道怎么样的提交能实现之前同样的效果
一开始在想怎么伪造admin身份,也有可能是打那个session-file-store,但是那个需要获取到session key和能写文件,session-file-store的session也和phpsessionid有点像,前半截文件名,默认路径是./session,后半截是拿key算的签名保证不被伪造,因为前半截的文件名完全没有校验,甚至可以目录穿越去加载session文件,但是这里既读不到key也写不了文件,也不行

需要进行乱按来进行原型链污染,一开始没有意识到抄的payload里面的双引号是在转义json。。。所以抄payload的时候一直带着那个转义符,第二天复盘的时候突然意识到这一点,去掉之后瞬间打通。。。呜呜呜,污染完原型链之后就是复制粘贴打在开启pretty选项时pug的rce,纯复制粘贴题
非json解析下的原型链污染payload
a[__proto__][isadmin]=admin&a"].__proto__["isadmin=222

阅读全文 »

CyBRICS2021 wp

除了那个没太看懂怎么回事的0解题,剩下的题目都挺简单的,很适合我这种萌新去做

Ad Network

就是简单的跟随重定向就行了,跟1337次后得到flag但是他的服务器似乎有点土豆,所以直接写个脚本然后访问的话基本上重定向个一二十次就断了,浏览器访问当然是直接重定向过多,所以不跟重定向然后自己每次重新访问重定向的内容就行

import requests

url = "http://adnetwork-cybrics2021.ctf.su/adnetwork"
cnt = 0


while cnt <= 1337:
    try:
        response = requests.get(url, allow_redirects=False, timeout=2)
        cnt += 1
        if response.status_code > 300:
            print(response.headers['Location'])
            url = response.headers['Location']
        else:
            print(response.text)
    except Exception as e:
        print(e)

ans = "http://tend.adnetwork-cybrics2021.ctf.su/military-front-low/learn-fill-though-factor-line/hear-hundred-subject-wind/enough-lot-tree-will-color"
阅读全文 »

[CISCN2021]决赛

居然混到了国一,队友牛逼!可信计算牛逼!

day1

经典awd坐牢,对tp等大型PHP框架的审计一无所知的我只能坐牢,官方流量要延迟一小时,意味着awd只会上车的我被乱杀,一度被打到倒数前十。但其实web也能自力更生的抓流量,但这回因为未知的原因,祖传脚本未能抓到流量,经过长达一个小时的边挨打边修边研究,发现是祖传脚本默认把流量写入tmp目录,而不知为何tmp目录不能写造成的。
查看phpinfo,disable_fucntion禁用了system,exec等命令执行函数,让写入不死马的几率降低到最小,open_basedir并没有值,那么应该不会影响到写入tmp,查看tmp权限,经典777+t,那么也不会影响写入。最后,为什么写不了tmp成为了一个永远的未解之谜。
然后挨了一个小时打之后发现流量能写本地,然后就开始上车,但这个时候的垃圾洞已经被修的差不多了,捡垃圾也只能捡一点点分,成功进入倒数前十。

还是记录一下踩的坑吧。

阅读全文 »

pwnhub7月公开赛

由于长时间的逃避SQL注入导致我现在又是一个SQL注入废物,以前做过的东西也记不清了

newsql

提示使用SQL8.0的新操作

简单测一下发现有报错,过滤的比较关键的东西有select,去掉这个战斗力减少100%,给了报错但是extractvalue之类的函数也没了,sleep也没了,不过很明显的登录成功时状态码200,失败时状态码500。
出题人似乎还想用登录成功就直接重定向到home的界面来迷惑我,但是好像有点太直接了,反手一个python发包搞定
以前应该是做过SQL8.0的题目的,一时间想不起来了,后来翻了半天发现是去年年底的嘶吼SQL大礼包里面有一个8.0的table语句加行比较操作进行注入,这么一来就简单了。既然是学过的东西复现一下就能搞定,把嘶吼的垃圾脚本翻出来改改,慢悠悠的注就行
嘶吼的wp
RoarCTF2020wp
再补一个mysql8.0的操作
MySQL8.0绕过手段

阅读全文 »