DVWA漏洞训练系统,来个大图^-^

1.首先试了下DVWA的命令执行漏洞command execution     这是我在Low级别上测试的,另外附上low级别代码:

<?php

if( isset( $_POST[ 'submit' ] ) ) {     //isset()函数,若变量不为NULL或空则返回true

$target = $_REQUEST[ 'ip' ];       //$_REQUEST[]  获取标签值为ip的里的的内容<input id="ip" type="text">

// Determine OS and execute the ping command.

    if (stristr(php_uname('s'), 'Windows NT')) {  //stristr()函数贴个例子吧,判断是WINDOWS还是Linux,php_uname() 返回了运行 PHP 的操作系统的描述,'s':操作系统名称。

 
/*
<?php
  $email = 'USER@EXAMPLE.com';
  echo stristr($email, 'e'); // 输出 ER@EXAMPLE.com
  echo stristr($email, 'e', true); // 自 PHP 5.3.0 起,输出 US
?>
*/
    
        $cmd = shell_exec( 'ping  ' . $target );  //shell_exec()函数执行命令作用呗

        echo '<pre>'.$cmd.'</pre>';

        
    } else {        
    
        $cmd = shell_exec( 'ping  -c 3 ' . $target );  //执行linux命令

        echo '<pre>'.$cmd.'</pre>';

        
    }
    
}
?>

发现$target直接接收了没有过滤过得值,window 和 linux 下可以直接用&&和;来执行多条命令,所以提交127.0.0.1&&net user做测试

 
接下来是medium级别的代码
 
<?php

if( isset( $_POST[ 'submit'] ) ) {

$target = $_REQUEST[ 'ip' ];

// Remove any of the charactars in the array (blacklist).

    $substitutions = array(        //建立php数组 array('key' => 'value')
        '&&' => '',
        ';' => '',
    );

$target = str_replace( array_keys( $substitutions ), $substitutions, $target );  

/*array_keys返回数组键名,str_replace(search,replace,subject)三个参数search作为匹配,匹配subject中的字符,若匹配到用replace代替 */
    

    // Determine OS and execute the ping command.

    if (stristr(php_uname('s'), 'Windows NT')) { //判断是不是windows  
    
        $cmd = shell_exec( 'ping  ' . $target );

        echo '<pre>'.$cmd.'</pre>';

        
    } else { 
    
        $cmd = shell_exec( 'ping  -c 3 ' . $target );

        echo '<pre>'.$cmd.'</pre>';

        
    }
}

?>

 
 

medium里面吧&&和;都过滤了,但是可以尝试提交 1||net user  ||的意思是若前面没有执行成功则执行后面的内容

=========================================未完待续======================================================

实战DVWA!的更多相关文章

  1. 黑客攻防技术宝典Web实战篇(二)工具篇DVWA Web漏洞学习

    DVWA是一个学习Web漏洞的很好的工具. DVWA全程是Damn Vulnerable Web Application,还有一个跟它一样好的工具尽在http://www.360doc.com/con ...

  2. DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass

    看到标题,是否有点疑惑 CPS 是什么东东.简单介绍一下就是浏览器的安全策略,如果 标签,或者是服务器中返回 HTTP 头中有 Content-Security-Policy 标签 ,浏览器会根据标签 ...

  3. 安全测试8_Web安全实战1(DVWA部署)

    1.渗透神器的打造(火狐浏览器的打造) Firebug HackBar(渗透插件) Tamper Data(抓包.截包.改包等功能) Proxy Switcher(代理设置) 2.PHP环境安装(ph ...

  4. Linux实战笔记__Centos7上搭建DVWA网站(基于宝塔)

    安装宝塔套件 宝塔官网有远程安装代码https://www.bt.cn/bbs/thread-19376-1-1.html 下载DVWA并上传至/www/wwwroot目录 下载地址: 配置数据库连接 ...

  5. 【DVWA】Web漏洞实战之File Upload

    File Upload File Upload,即文件上传漏洞,一般的上传漏洞可能是未验证上传后缀 或者是验证上传后缀被bypass 或者是上传的文件验证了上传后缀但是文件名不重命名. LOW 直接上 ...

  6. sqlmap 实战漏洞平台dvwa进行密码破解

    2016-05-24 (1)实验的具体的环境极其思路 首先我们要检测我们的漏洞平台是否有sql注入 ,进行简单的测试发现在用户userid 上存在注入的漏洞 使用抓包工具对其cookie 进行获取如下 ...

  7. DVWA靶机实战-文件上传漏洞(二)

    继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...

  8. burpsuite使用教程和实战详解(一)

    1.最近做渗透测试,其实使用一种方式很难全面的对一个web或者app等安全服务器做安全评估,所以要尽可能的对网络安全的渗透测试有一个较全面的认知.不光要熟悉前端和 后天的编程,还有掌握基于这两种编程的 ...

  9. 安全测试8_Web安全实战3(命令注入)

    1.命令注入的概念:命令指的是操作系统的命令,注入表示通过WEB程序在服务器上拼接系统命令. 2.命令注入实战: 首先我们先打开DVWA,将安全级别调至为low级别,忘记了的可以参考之前的章节进行设置 ...

随机推荐

  1. [转]C# 超高速高性能写日志 代码开源

      1.需求 需求很简单,就是在C#开发中高速写日志.比如在高并发,高流量的地方需要写日志.我们知道程序在操作磁盘时是比较耗时的,所以我们把日志写到磁盘上会有一定的时间耗在上面,这些并不是我们想看到的 ...

  2. 打印出现:You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:

    解决办法: 第一种:Product -> Target -> Capabilities -> Background Modes -> 勾选Remote notification ...

  3. Win32控制台中使用定时器的方法

    在MFC中用OnTimer()函数就可以很方便的实现定时事件,但在Win32控制台工程中没有消息循环,MSDN里也不推荐把SetTimer()用在Console Applications里. 同理,在 ...

  4. jquery表单验证插件 jquery.form.js ------转载

    Form插件,支持Ajax,支持Ajax文件上传,功能强大,基本满足日常应用. 1.JQuery框架软件包下载 文件: jquery.rar 大小: 29KB 下载: 下载 2.Form插件下载 文件 ...

  5. 【BZOJ3555】[Ctsc2014]企鹅QQ hash

    [BZOJ3555][Ctsc2014]企鹅QQ Description PenguinQQ是中国最大.最具影响力的SNS(Social Networking Services)网站,以实名制为基础, ...

  6. 电力项目十三--js添加浮动框

    修改page/menu/loading.jsp页面 首先,页面中引入浮动窗样式css <!-- 浮动窗口样式css begin --> <style type="text/ ...

  7. linux 将同后缀名的文件统一移至另一个文件夹

    w

  8. 多线程入门-第五章-线程的调度与控制之yield

    yield与sleep类似,只是不能指定暂停多长时间,并且只能让同优先级的线程有执行的机会,让位时间不固定. /* yield使用 */ public class ThreadTest04 { pub ...

  9. 一个误区(关于javascript的字符串拼接)

    前段时间听说了一个问题,说是,javascript中使用+=来拼接字符串会比使用Array的join方法慢几十倍以上,今天在工作间歇,就写了个例 子验证了一下,结果确完全相反,使用+=比join要快( ...

  10. Purpose of ContextLoaderListener in Spring

    The ApplicationContext is where your Spring beans live. The purpose of the ContextLoaderListener is ...