当前位置: 首页 > news >正文

建网站logo怎么做免费网站模板库

建网站logo怎么做,免费网站模板库,站长忽略的观点,新闻资讯到底是哪个公司的各位小伙伴#xff0c;今天我们继续学习Command Injection#xff0c;翻译为中文就是命令行注入。是指通过提交恶意构造的参数破坏命令语句结构#xff0c;从而达到执行恶意命令的目的。在OWASP TOP 10中一种存在注入漏洞#xff0c;最常见的就是SQL和命令行注入。PHP开发的…各位小伙伴今天我们继续学习Command Injection翻译为中文就是命令行注入。是指通过提交恶意构造的参数破坏命令语句结构从而达到执行恶意命令的目的。在OWASP TOP 10中一种存在注入漏洞最常见的就是SQL和命令行注入。PHP开发的系统中存在命令注入漏洞也是PHP应用程序中常见的脚本漏洞之一国内著名的Web应用程序Discuz!、DedeCMS等都曾经存在过该类型漏洞。命令执行漏洞的产生原因一般就是将用户输入未经过滤或者过滤不严就直接当作系统命令进行执行我们可以通过批处理中的一些技巧来一次执行多条命令这样就可以执行任意命令。在命令执行中常用的命令连接符号有五个、、||、|和;:前一个指令执行成功后面的指令才继续执行就像进行与操作一样||:前一个命令执行失败后面的才继续执行类似于或操作直接连接多个命令|管道符将前一个命令的输出作为下一个命令的输入;直接连接多个命令1、Low低级别首先查看源代码?phpif( isset( $_POST[ Submit ] ) ) { // Get input $target $_REQUEST[ ip ]; // Determine OS and execute the ping command. if( stristr( php_uname( s ), Windows NT ) ) { // Windows $cmd shell_exec( ping . $target ); } else { // unix/Linux $cmd shell_exec( ping -c 4 . $target ); } // Feedback for the end user $html . pre{$cmd}/pre;}?分析服务器端首先获取用户提交的ip接着获取服务端的系统信息根据不同操作系统选择不同的ping命令格式但是后续并没有对用户的输入做任何的过滤就会导致严重的漏洞stristr()函数定义和用法 stristr() 函数搜索字符串在另一字符串中的第一次出现。注释该函数是二进制安全的。注释该函数是不区分大小写的。如需进行区分大小写的搜索请使用 strstr() 函数。语法stristr(string,search,before_search)php_uname(mode)函数定义和用法这个函数会返回运行php的操作系统的相关描述参数mode可取值”a”此为默认包含序列”s n r v m”里的所有模式”s”返回操作系统名称”n”返回主机名“r”返回版本名称”v”返回版本信息”m”返回机器类型。漏洞利用无论是linux系统还是windows系统我们都可以用来执行多条命令语句。所以我们执行的payload可以是127.0.0.1ipconfig可以发现返回了执行结果ip详细信息见下面截图当然这里的127.0.0.1可以换成任何IP地址而后面可以接各种命令例如127.0.0.1del c:windowsinfo.log 则删除windows目录下info.log文件del文件不会显示任何信息。2、Medium 中级别?phpif( isset( $_POST[ Submit ] ) ) { // Get input $target $_REQUEST[ ip ]; // Set blacklist $substitutions array( , ; , ); // Remove any of the charactars in the array (blacklist). $target str_replace( array_keys( $substitutions ), $substitutions, $target ); // Determine OS and execute the ping command. if( stristr( php_uname( s ), Windows NT ) ) { // Windows $cmd shell_exec( ping . $target ); } else { // *nix $cmd shell_exec( ping -c 4 . $target ); } // Feedback for the end user $html . pre{$cmd}/pre;}?分析通过源码我们可以看出相对比于low级别medium级别设置了黑名单将和;做了过滤处理不行我们可以改用这里说明下几个符号的区别command1command2command3 三个命令同时执行command1;command2;command3 不管前面命令执行成功没有后面的命令继续执行command1command2 只有前面命令执行成功后面命令才继续执行漏洞利用我们就改用所以payload就变成了127.0.0.1ipconfig可以看到payload执行成功3、High 高级别?phpif( isset( $_POST[ Submit ] ) ) { // Get input $target trim($_REQUEST[ ip ]); // Set blacklist $substitutions array( , ; , | , - , $ , ( , ) , , || , ); // Remove any of the charactars in the array (blacklist). $target str_replace( array_keys( $substitutions ), $substitutions, $target ); // Determine OS and execute the ping command. if( stristr( php_uname( s ), Windows NT ) ) { // Windows $cmd shell_exec( ping . $target ); } else { // *nix $cmd shell_exec( ping -c 4 . $target ); } // Feedback for the end user $html . pre{$cmd}/pre;}?分析还以为会是多么高端的过滤方式只不过是把黑名单稍微细化了一下但是依然可以使用|Command 1 | Command 2“|”是管道符表示将Command 1的输出作为Command 2的输入并且只打印Command 2执行的结果。漏洞利用127.0.0.1|ipconfig依旧可以执行。4、Impossible 不可能级别?phpif( isset( $_POST[ Submit ] ) ) { // Check Anti-CSRF token checkToken( $_REQUEST[ user_token ], $_SESSION[ session_token ], index.php ); // Get input $target $_REQUEST[ ip ]; $target stripslashes( $target ); // 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 ints 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 $cmd shell_exec( ping . $target ); } else { // *nix $cmd shell_exec( ping -c 4 . $target ); } // Feedback for the end user $html . pre{$cmd}/pre; } else { // Ops. Let the user name theres a mistake $html . preERROR: You have entered an invalid IP./pre; }}// Generate Anti-CSRF tokengenerateSessionToken();?分析通过源代码分析我们可以看到1、该模块中加入了Anti-CSRF token来防范CSRF攻击同时每次随机生成了一个token当用户提交的时候在服务器端比对一下token值是否正确不正确就丢弃掉正确就验证通过。// Check Anti-CSRF tokencheckToken( $_REQUEST[ user_token ], $_SESSION[ session_token ], index.php );2、通过加入stripslashes函数来对输入的ip信息进行删除字符串中的反斜杠操作。$target stripslashes( $target );3、对输入的信息通过“.”号进行分割分割成多个数组。// Split the IP into 4 octects$octet explode( ., $target );4、然后采用白名单机制来验证输入的信息是不是都是数字组成然后把所有的数字通过“.”进行拼接这样就保证了输入的信息只能是以“数字.数字.数字.数字”的形式限定了只能输入IP地址避免了命令执行漏洞。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 ints put the IP back together. $target $octet[0] . . . $octet[1] . . . $octet[2] . . . $octet[3];完---------------------------------------------------------------------------关注安全 关注作者
http://www.sadfv.cn/news/102783/

相关文章:

  • 中山手机网站制作哪家好成都旅游网
  • 网站使用支付接口如何收费网站如何做谷歌推广
  • 邢台哪儿做wap网站好郑州男科医院哪家权威
  • 个人可以做几个网站酷炫网站欣赏
  • 资产管理公司网站建设方案中山市有什么网站推广
  • 七星彩网投网站建设建设环境工程技术中心网站
  • 赤峰做企业网站公司搭建网站实时访问地图
  • iis 新建网站没有文件夹权限星乐seo网站关键词排名优化
  • 防止做网站的人修改数值网页源代码拿到后怎么使用
  • 郑州hi宝贝网站建设公司有哪些网站免费做推广
  • 上海网站开发建设价格网站建设淘宝详情页
  • 马大姐网站建设目的可以做h5的软件
  • 膜结构网站推广怎么做做包装的网站
  • wordpress pc站m站北海网站建设网
  • 有什么兼职做it的网站网站建设制作汕头
  • 如何做系统集成公司网站网店装修免费模板
  • 网站流量如何盈利手机wap购物网站模板
  • 建设建行积分兑换商城网站怎么找国外采购商
  • 移动网站建设价格wordpress安装幻灯片
  • 网站建设的空间是什么意思网站图表怎么做的
  • 如何为网站做推广公司装修放假期间有没有工资
  • 佛山公众平台网站推广多少钱网站规划步骤有哪些
  • 南京秦淮区建设局网站wordpress深入理解
  • 网络推广工作具体需要做些什么西安网络推广优化培训
  • 服装设计网站有哪些推荐韩国购物网站有哪些
  • 无锡网站制作系统wordpress 不用mysql
  • 访问网站出来的是目录邳州做网站的公司
  • 品牌网站应该怎么做什么是网络营销的基础
  • 公司外贸网站怎么做17zwd一起做业网站
  • 博客论坛网站开发58同城买房网