第21届湖南省大学生计算机程序设计竞赛网络安全赛
background:
线下 断网 收手机 天气很热 图书馆里300号人就4台空调 我们头顶上的风扇还是坏的 打到后面我真的感觉人都要缺氧虚脱了 志愿者们也很辛苦 感谢承办院校与志愿者的辛勤付出 总的来说成绩还是很不错的 可是赛后知道fix有非预期方法 绷不住了 我fix1是用尽最后一次的次数才通的
web-login
没啥说的 很基础的题(差点没出 都50分了才出的 一开始只爆了admin的密码 尝试了password8000 结果是除了admin 任意用户+密码123456就能成功)
爆破出密钥再签名就行了
webshell
不是我做的 看着不是很难 感觉挺基础的 不过最后结束了还有90多分 我们这队绿盟的高工还拿的三血
上来就给我说是webshell 我就给他内网传了个abc123的应急工具箱 然后他看了一下就拿到了elf文件的base64问我怎么变回去
我说试试Windows的证书 但是不记得命令 后面他直接用命令行还原了
冰蝎流量 key:14c0ea9a5d07d11a
马子
搞开之后base64解两次 然后变elf
运行抓网络连接即可
队友的wp:
丢入随波逐流后发现还藏有了一个文件 使用foremost分离可以得到第三段flag
_1nTerest1ng}
从第三段flag中可以看出 flag前面是有部分提示的 因此 我们可以搜索关键字 比如part获取第二段flag
ganography_1s
第一段flag隐藏在
pdf文件的 “计算”后面 被隐藏了起来 复制整段文字的时候可以在粘贴板看到我们的第一段flag
dart{pdf_ste
合并即为完整flag
dart{pdf_steganography_1s_1nTerest1ng}
awd-cat shop
这题赛后跟别人交流了一下 我也没绷住啊 后台直接admin/admin123就能进去拿shell 我真服了
这也不能算awd 也不能算awdp
你说他是awd吧 他不让你上机子修洞 也不让你去打别人
你说他是awdp吧 确实像 fix是提patch上去check的
attack:
查看商品存在注入
直接load_file拿一血(这里数据库里有个假flag)
http://e49ddf1c-aa30-4b72-b6d3-930356f456f3.16.dart.ccsssc.com/frontend/view_product.php?id=9998887782 union select 1,load_file(‘/flag’),3,4,5,6,7,8,9–+
这个口子有的队伍说直接sqlmap os-shell秒了 但是我和一些队伍都没成功 我手动into outfile之后发现确实能写进去东西 我传个1.txt上去访问都能下载到 但是上php整个请求都down掉了 我就没管这个了 比赛的时候环境实在是太卡太卡了
这里fix的逻辑感觉也是有问题的 第一个不是应该修注入吗?这边设计的这个点没看明白 这个点没源码根本看不到啊 怎么放到fix1了 我们也是10次机会全部用完 最后一次才修好的 太刺激了
fix-1:
shell之后 明显的一个任意文件读取
http://127.0.0.1/frontend/index.php?debug_file=c:/windows/win.ini |
除了本身的判断 也没找到其他调用他的地方 所以这种需要有shell才能发现的东西 不知道为什么是fix1
fix-2:
漏洞点在这里
查id 这好办啊 直接int即可
fix-3:
这里藏了一个管理员账号密码 我们也是load_file到这个文件进后台拿的shell
fix-4:
进后台能直接传shell
这也很好办 在上传文件之前的逻辑截胡 做个后缀判断就行了
fix-5:
有个马儿 删掉就行了 是awd的话 这个点又能吃一些分了 哈哈哈 不过有能力把其他洞修了的 也不会落下这个马
//ai ocr识别的 变量base64的值好像有问题 但是无伤大雅 主要看马子的思路 |
第一步肯定是解码
$headerKey = base64_decode('WF9DQVRfU0VU'); // "X_CAT_SET" |
看一下$func
echo chr(115) . chr(121) . chr(115) . chr(116) . chr(101) . chr(109); //system |
设置X-CAT-SET的值为MEOW_BACKDOOR(请求头要用-而不是下划线)
X-CAT-CMD为命令base64编码之后的结果即可