跟bWAPP学WEB安全(PHP代码)--PHP代码注入

---恢复内容开始---

背景



今天我们换一个方式来分析这个漏洞,从渗透的角度去搞。

渗透过程



测试漏洞


先来看看,观察URL是:http://192.168.195.195/bWAPP/phpi.php
1070321-20190108233723892-1955976368.png
message像是有链接,点击看看
1070321-20190108234003534-1186540430.png
在查看url是http://192.168.195.195/bWAPP/phpi.php?message=test,GET型参数,burp扫一下
1070321-20190108234227831-481986090.png
感觉不对,怎么可能只有Flash跨域红红的,目测这个地方是echo xxxx,猜测代码:

<?php
    echo $_GET["message"];
?>

可是这样哪里来的代码注入啊,难道message有问题,测试phpinfo(),果然有问题
1070321-20190109002221425-1005803530.png
那就可以看代码了,执行message=system("cat phpi.php > phpi.txt") ,请求一下phpi.txt
1070321-20190109002354780-1963565689.png
我们来看代码:

代码设计


<?php

if(isset($_REQUEST["message"]))
{

    // If the security level is not MEDIUM or HIGH
    if($_COOKIE["security_level"] != "1" && $_COOKIE["security_level"] != "2")
    {

?>
    <p><i><?php @eval ("echo " . $_REQUEST["message"] . ";");?></i></p>

<?php

    }

    // If the security level is MEDIUM or HIGH
    else
    {
?>
    <p><i><?php echo htmlspecialchars($_REQUEST["message"], ENT_QUOTES, "UTF-8");;?></i></p>

<?php

    }

}

?>

卧槽,什么鬼竟然用了eval,这个可是执行代码内容的函数,类似的还有asset、preg_replace、call_user_func, call_user_func_array,array_map等等,这其中还包括thinkphp5-RCE的罪魁祸首函数哈哈。中级和高级过滤了,使用了htmlspecialchars函数就OK了

转载于:https://www.cnblogs.com/KevinGeorge/p/10242189.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值