欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

安恒429|复赛 web write up && 决赛经验

程序员文章站 2022-05-31 20:07:52
...
由于已经没有复赛的环境,只能文字回忆一下了

复赛给了web 2 350 原本是想考一个SSRF利用gopher去搞定一个fastcgi的外联端口,执行命令

具体的文章

http://zone.wooyun.org/content/1060

http://drops.wooyun.org/web/9845

然而出题人没把好关 长亭3分钟秒掉这道题后基本就猜到有奇解

那么其实就是简单的file协议 file://index.php 拿到了flag

然后一开始卡住的web 1 300呢,是通过注册超长字符串的用户,重复注册爆出dumplicate entry

得到管理员的hash admin_7365598732 24461a3ef270c652949f5fc37f37fcb2

解密后得到RGoN7r}G8lnrYBAX6n

登陆管理页,有一个删除文件的功能,传递的id参数可以用报错注入payload

+and(select+1+from(select+count(*),concat((select+table_name+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)%23

得到flag,然后居然还是一血。大概因为注起来很麻烦吧。

凭借着自己拿下的650+d神的500以及外校队友拿下的密码学题目 7th进入决赛。

===========================================================================

帅不过三秒 下午决赛开始被血虐

送走大寸自己稍微有点小低落,然后就被抓了先手

web我一开始没审计代码的时候,发现了至少3个点

这里用黑名单进行过滤,导致php5等后缀可以绕过

另外就是前台文章的一个root注入点

然而修复的时候使用的正则表达式/select.*from/i

算是最大的败笔,没有加s修饰符的话,用%0a是可以绕过的。

在注入的时候into outfile一直会把前面的用户数据读进去,一开始想的方法是

用户名注册为 然后导出

得到了wildwolf的webshell。但后来由于插内存马的时候报错,导致整个数据废掉了。

后来用union select来覆盖前面的数据,重新导出了,但是于事无补,自己也只拿到了200多分。

期间pwn和web服务一直被人打挂掉,导致了巨额失分。

最后今天回来的时候重新写了一份php的自动化防护脚本,希望以后攻防赛有机会用上