前言
省赛打赢初赛进决赛要打awd。目前就打过两次awd练习,还都是啥都没干的那种。
这篇记录一下AWD的赛前学习和赛后整理,一直有awd比赛的话就一直能写下去
(学了半天才发现决赛打的是AWDP……)
一、AWD赛前学习
二、AWDP赛前学习
AWDP就是加了加固问题的ctf,我们成功进攻靶场之后,需要对题目进行加固,如果官方的exp没有打通,则为防御成功。
赛题练习
awdp中需要上传tar.gz包,跟赛题练习有一点不一样。
BUCTF-ezsql
可以用万能密码登入,也可以用盲注,但是太麻烦了蒜鸟。
|
|

攻击就是这么个攻击方式,主要是FIX
首先用xshell或者finalshell链接一下。


我个人更喜欢finalshell一点
然后找到var/www/html中的index.php(在文件中找到的都是下载到本地的,需要在服务器上修改的话还是需要vi 和wq指令)

防御sql注入其实挺简单的,直接对用户输入进行预处理就行
|
|

|
|
之后进入第二个链接并添加/check

之后进入flag里拿flag就行
(这里一定要看看是否正确改好了)

[CISCN2021 总决赛]babypython

只能上传zip文件,之前长城杯写过一道软链接的题目,这个估计也是这个思路。正好那道题也没有做完整记录,这里就多写一点。
软链接
解释一下,软链接就是类似于windows下的快捷方式,我们上传的zip文件会被网站后台会解压读取软链接指向的服务器上的文件,就能达到读取任意文件的效果。当然,如果是黑盒的话,其实不太好测。这里因为是加固题,只要知道漏洞在哪就行
首先我们需要linux系统搞一个软连接出来
|
|
(和之前那道题还不太一样,那道题需要tar包)

可以看到成功读取到了,之后还是用相同的方法读取一下app.py
接下来去FIX一下
还是用finalshell连接一下
FIX
通用:上WAF、注释漏洞语句
PHP特性:基本上不会出现,没有FIX的实际意义
SQL注入:上WAF、addslashes() 函数过滤、预处理
SSTI:上WAF(SSTI只过滤{不行)
原型链污染:注释污染相关代码即可
文件上传:后缀强校验、文件内容WAF、MIMA头(最好一次都修上)
JAVA:注释、上调库版本、上WAF
代码审计:上WAF、注释漏洞代码