码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • dvwa 代码注入impossible代码审计


    dvwa 代码注入impossible代码审计

    
    
    if( isset( $_POST[ 'Submit' ]  ) ) {
    	// Check Anti-CSRF token
    	checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); 
      // 检查token值是否正确
    	// Get input
    	$target = $_REQUEST[ 'ip' ]; 
    	$target = stripslashes( $target );
    	// 对用户输入的IP进行过滤将转义字符去除
    
    	// Split the IP into 4 octects
    	$octet = explode( ".", $target );
    	//对字符串进行分割分割为数组
    
    	// Check IF each octet is an integer
    	if( ( is_numeric( $octet[0] ) ) && ( is_numeric( $octet[1] ) ) && ( is_numeric( $octet[2] ) ) && ( is_numeric( $octet[3] ) ) && ( sizeof( $octet ) == 4 ) ) 
    	// 判断每个数组中的元素是否为数字,并且是否又四个元素
    	 {
    		// If all 4 octets are int's put the IP back together.
    		$target = $octet[0] . '.' . $octet[1] . '.' . $octet[2] . '.' . $octet[3];
    //拼接字符串
    		// Determine OS and execute the ping command.
    		if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
    		//查询系统是否是windows
    			// Windows
    			$cmd = shell_exec( 'ping  ' . $target ); 
    			//进行ping操作
    		}
    		else {
    			// *nix
    			$cmd = shell_exec( 'ping  -c 4 ' . $target );
    			//不是windows就ping4下
    		}
    
    		// Feedback for the end user
    		$html .= "
    {$cmd}
    "
    ; //输出标签 } else { // Ops. Let the user name theres a mistake $html .= '
    ERROR: You have entered an invalid IP.
    '
    ; } } // Generate Anti-CSRF token generateSessionToken(); //重新获取token值 ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    stripslashes ()

    stripslahes()函数是用来去除字符串中的转义字符的

    
        $char="a\n\n\n b";
        echo stripslashes($char);
    ?>
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    explode()

    函数用来分割字符串的

    
        $ip=$_GET[777];
        print_r(explode('.',$ip));
    ?>
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    is_numeric()

    函数用于检查一个值是否可以被解析为一个数字。它接受一个参数,并返回一个布尔值,指示参数是否可以被解析为一个有效的数字。

    
        var_dump (is_numeric('abc'));
    ?>
    
    • 1
    • 2
    • 3

    在这里插入图片描述

  • 相关阅读:
    01-Spring中事务的实现之编程式事务和声明式事务,以及事务的属性之传播行为,隔离级别,事务的回滚
    Code Llama: Open Foundation Models for Code
    Python入门系列(八)日期时间、数学、json
    蚓链助新零售企业快速实现数字化转型
    DevOps jenkins实现持续集成、持续部署
    关系数据库SQL五条经验教训
    网络运维与网络安全 学习笔记2023.11.18
    六个好用的在线代码编辑器,你选哪个?
    母婴行业探秘:千万级会员体量下的精准营销
    plt 画图不显示label
  • 原文地址:https://blog.csdn.net/weixin_70137901/article/details/134538086
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号