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

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

渗透过程



测试漏洞


先来看看,观察URL是:http://192.168.195.195/bWAPP/phpi.php



message像是有链接,点击看看



在查看url是http://192.168.195.195/bWAPP/phpi.php?message=test,GET型参数,burp扫一下



感觉不对,怎么可能只有Flash跨域红红的,目测这个地方是echo xxxx,猜测代码:

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

可是这样哪里来的代码注入啊,难道message有问题,测试phpinfo(),果然有问题



那就可以看代码了,执行message=system("cat phpi.php > phpi.txt") ,请求一下phpi.txt



我们来看代码:

代码设计


<?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了

跟bWAPP学WEB安全(PHP代码)--PHP代码注入的更多相关文章

  1. 跟bWAPP学WEB安全(PHP代码)--OS命令注入

    背景 这是温故知新的一个系列,也是重新拾起WEB安全的一个系列,同时希望能稍微有点对初学者的帮助.第一篇先来讲讲OS命令注入 bWAPP里面有两个页面也就是两个漏洞,来验证OS命令注入.一个是有回显的 ...

  2. 跟bWAPP学WEB安全(PHP代码)--终结篇:文件目录遍历、文件上传、SSRF、CSRF、XXE、文件包含

    前言 过年过的很不顺,家里领导和我本人接连生病,年前腊月29才都治好出院,大年初六家里的拉布拉多爱犬又因为细小医治无效离开了,没能过年回家,花了好多钱,狗狗还离世了.所以也就没什么心思更新博客.今天初 ...

  3. 跟bWAPP学WEB安全(PHP代码)--认证绕过与会话管理

    背景 这里主要是代码逻辑问题,而不是代码使用函数的问题,因此在这个里面就不粘贴具体代码了,而是分类介绍下bWAPP中涉及的安全问题: 验证码问题 找回问题 账号口令问题 Cookies问题 Sessi ...

  4. 跟bWAPP学WEB安全(PHP代码)--SQL注入的一些技巧

    背景 模拟环境还是 bWAPP,只不过这个bWAPP的SQL注入有点多,一一写意义不大,在这边就利用这个环境来尝试一些SQL注入的技巧.并研究下PHP的防御代码. 普通的bWAPPSQL注入的简单介绍 ...

  5. 跟bWAPP学WEB安全(PHP代码)--邮件头和LDAP注入

    背景 由于时间限制和这俩漏洞也不是特别常用,在这里就不搭建环境了,我们从注入原来和代码审计的角度来看看. 邮件头注入 注入原理: 这个地方首先要说一下邮件的结构,分为信封(MAIL FROM.RCPT ...

  6. 跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击

    背景 这个系列有很多题,但是其实考察的相近,类似的就不在多说,我们来看吧.主要分几个点来讲: 反射型 存储型 JSON XM 头部字段相关 分类介绍 反射型 在请求中构造了XSS的Payload,一般 ...

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

    XML/Xpath注入 看了下,A2里面是认证与会话管理的破坏或称之为绕过,没有特别要写的,很多就是小问题,可能会将这类问题放在最后写一下.一篇博客,这里还是更多的着重在能够获取信息或者服务器权限的漏 ...

  8. 跟bWAPP学WEB安全(PHP代码)--SSL(Server-Side-Include)漏洞

    什么是Server-Side-Include漏洞 服务端包含漏洞是指发送指令到服务器,服务器会将指令运行完,把运行结果包含在返回文件中发送给你.利用这种漏洞可以获取服务端的信息甚至执行命令,这样的指令 ...

  9. 跟bWAPP学WEB安全(PHP代码)--HTML注入和iFrame注入

    背景 这里讲解HTML注入和iFrame注入,其他的本质都是HTML的改变.那么有人会问,XSS与HTML注入有啥区别呢?其实本质上都是没有区别的,改变前端代码,来攻击客户端,但是XSS可以理解为注入 ...

随机推荐

  1. MYSQL之You can't specify target table for update in FROM clause解决办法

    mysql中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表( ...

  2. Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

     

  3. 配置IDEA Scala环境

    http://snglw.blog.51cto.com/5832405/1634595

  4. Spring Boot 处理 REST API 错误的正确姿势

    摘要:如何正确的处理API的返回信息,让返回的错误信息提供更多的含义是一个非常值得做的功能.默认一般返回的都是难以理解的堆栈信息,然而这些信息也许对于API的客户端来说有可能并没有多大用途,并没有多大 ...

  5. phpstorm 初体验

    最近在学php,今天想要读一下公司刚外包网站的源代码,要安装一个php的集成环境,因最开始用过JetBrains的pycharm觉得很好用,这会儿还选用该家产品PHPStorm(为啥storm这个词, ...

  6. Java加密和C#解密=>DES方法

    Java加密代码: import javax.crypto.*; import javax.crypto.*; import java.io.UnsupportedEncodingException; ...

  7. go反射的规则

    第一次知道反射的时候还是许多年前在学校里玩 C# 的时候.那时总是弄不清楚这个复杂的玩意能有什么实际用途……然后发现 Java 有这个,后来发现 PHP 也有了,再后来 Objective-C.Pyt ...

  8. 1. Oracle安装部署文档

    一. 部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5oracle安装包:linux.x64_11gR2_database_1of1.zip:linux.x64_11gR ...

  9. GreenPlum数据加载

    1. copy命令 对于数据加载,GreenPlum数据库提供copy工具,copy工具源于PostgreSQL数据库,copy命令支持文件与表之间的数据加载和表对文件的数据卸载.使用copy命令进行 ...

  10. MongoDB 数据管理

    MongoDB 相关操作: > db.version() // 查看 MongoDB 版本 > db.serverStatus() // 查看 MongoDB 服务器的状态 MongoDB ...