AWD|AWDP从零到一

前言

省赛打赢初赛进决赛要打awd。目前就打过两次awd练习,还都是啥都没干的那种。

这篇记录一下AWD的赛前学习和赛后整理,一直有awd比赛的话就一直能写下去

(学了半天才发现决赛打的是AWDP……)

一、AWD赛前学习

二、AWDP赛前学习

AWDP就是加了加固问题的ctf,我们成功进攻靶场之后,需要对题目进行加固,如果官方的exp没有打通,则为防御成功。

赛题练习

awdp中需要上传tar.gz包,跟赛题练习有一点不一样。

BUCTF-ezsql

可以用万能密码登入,也可以用盲注,但是太麻烦了蒜鸟。

1
2
admin' or 1=1#  (这里只能用井号闭合)
密码随便

image-20250928163756335

攻击就是这么个攻击方式,主要是FIX

首先用xshell或者finalshell链接一下。

image-20250928164744240

image-20250928164828111

我个人更喜欢finalshell一点

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

image-20250928170800685

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

1
2
addslashes()
对字符串进行处理,确保其中的特殊字符(如单引号、双引号等)被正确地转义。

image-20250928171043319

1
2
3
vi index.php
#修改完之后
单击键盘的“esc”并输入 :wq 命令退出并保存该文件

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

image-20250928172038634

之后进入flag里拿flag就行

(这里一定要看看是否正确改好了)

image-20250928183536317

[CISCN2021 总决赛]babypython

image-20250928184923612

只能上传zip文件,之前长城杯写过一道软链接的题目,这个估计也是这个思路。正好那道题也没有做完整记录,这里就多写一点。

软链接

解释一下,软链接就是类似于windows下的快捷方式,我们上传的zip文件会被网站后台会解压读取软链接指向的服务器上的文件,就能达到读取任意文件的效果。当然,如果是黑盒的话,其实不太好测。这里因为是加固题,只要知道漏洞在哪就行

首先我们需要linux系统搞一个软连接出来

1
2
ln -s /etc/passwd passwd
zip -y passwd.zip passwd

(和之前那道题还不太一样,那道题需要tar包)

image-20250928191031850

可以看到成功读取到了,之后还是用相同的方法读取一下app.py

接下来去FIX一下

还是用finalshell连接一下

FIX

通用:上WAF、注释漏洞语句

PHP特性:基本上不会出现,没有FIX的实际意义

SQL注入:上WAF、addslashes() 函数过滤、预处理

SSTI:上WAF(SSTI只过滤{不行)

原型链污染:注释污染相关代码即可

文件上传:后缀强校验、文件内容WAF、MIMA头(最好一次都修上)

JAVA:注释、上调库版本、上WAF

代码审计:上WAF、注释漏洞代码

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计