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

安徽住房和城乡建设厅注册网站天津全包圆装饰公司官网

安徽住房和城乡建设厅注册网站,天津全包圆装饰公司官网,有经验的佛山网站设计,专业网页设计师命令执行漏洞简介 命令执行漏洞产生原因 应用未对用户输入做严格得检查过滤#xff0c;导致用户输入得参数被当成命令来执行 命令执行漏洞的危害 1.继承Web服务程序的权限去执行系统命会或读写文件 2.反弹shell#xff0c;获得目标服务器的权限 3.进一步内网渗透 远程代…命令执行漏洞简介 命令执行漏洞产生原因 应用未对用户输入做严格得检查过滤导致用户输入得参数被当成命令来执行 命令执行漏洞的危害 1.继承Web服务程序的权限去执行系统命会或读写文件 2.反弹shell获得目标服务器的权限 3.进一步内网渗透 远程代码执行 因为业务需求在PHP中有时需要调用一些执行命令的函数·如:eval0、assert0、preg_replace0、create_function0等如果存在一个使用这些函数且未对可被用户控制的参数进行检查过滤的页面那么这个页面就可能存在远程代码执行漏洞。 远程代码执行-eval函数 eval ( string $code ) 把字符串 code 作为PHP代码执行 ?php eval($_POST[cmd]);? 注意: eval0 函数传入的参数必须为PHP代码即要以分号结尾; 函数eval0语言结构是非常危险的因为它允许执行任意 PHP 代码·不要允许传入任何由用户提供的、未经 完整验证过的数据。 远程代码执行-assert函数 assert ( mixed $assertion [ string $description ]) 检查一个断言是否为 FALSE如果 assertion 是字符串它将会被 assert0 当做 PHP 代码来执行 ?php assert($_POST[cmd])? 注意: assert0函数是直接讲传入的参数当成PHP代码执行不需要以分号结尾 远程代码执行-preg_replace函数 preg_replace ( mixed $pattern , mixed $replacement , mixed $subject l int KaTeX parse error: Expected EOF, got at position 19: …it -1 l, int ̲count ]] ) 执行一个正则表达式的搜索和替换搜索subiect中匹配pattern的部分以replacement进行替换 ?php preg_replace(/test/e,$_POST[cmd],just test),? preg_replace(‘正则规则’,‘替换字符’, ‘目标字符’) PCRE修饰符 e: preg_replace0在进行了对替换字符串的后向引用替换之后,将替换后的字符串作为php代码 评估执行(eval函数方式),并使用执行结果作为实际参与替换的字符串。 远程代码执行-array_map函数 array_map ( callable $callback , array $array1 [, array $…]) array_map0: 返回数组是为 array1每个元素应用 callback函数之后的数组·callback 函数形参的数量和传给 array_map0 数组数量两者必须一样·为数组的每个元素应用回调函数 ?php $func$_GET[func]; $cmd$_POSTIcmd]; $array[0]$cmd; $new_arrayarray_map($func,$array): echo Snew_array; ?远程代码执行-create_function函数 create_function ( string $args , string $code ) 从传递的参数创建一个匿名函数并为其返回唯一的名称。 通常这些参数将作为单引号分隔的字符串传递·使用单引号的原因是为了保护变量名不被解析否则如果 使用双引号就需要转义变量名例如 $avar ?php $func create function(”,$_POST[cmd]): $func(); ?远程代码执行-call_user_func函数 call user_func ( callable $callback [, mixed $parameter [, mixed $… ]]) 第一个参数 calback 是被调用的回调函数其余参数是回调函数的参数·把第一个参数作为回调函数调 ?php cal user _func(assert,$_POST[cmd]) //传入的参数作为assert函数的参数 //cmdsystem(whoami) ?远程代码执行-array_filter函数 array_filter ( array $array [ callable $callback [, int $flag 0 ]1) 用回调函数过滤数组中的单元依次将 array 数组中的每个值传递到 callback 函数 ?php $cmd$_POSTIcmd]; $array1array($cmd); $func $ GETIfuncl; array_filter($array1,$func), //用回调函数过滤数组中的元素 : array_filter(数组,函数) //?funcsystem //cmdwhoami ?远程代码执行-双引号 ?php // echo phpinfo(); echo {$(phpinfo()}}; ? 在php中双引号里面如果包含有变量php解释器会将其替换为变量解释后的结果单引号中的变量不会被处理双引号中的函数不会被执行和替换 远程系统命令执行 一般出现这种漏洞是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界面用户从web界面输入目标IP提交后后台会对该IP地址进行一次ping测试并返回测试结果·而如果设计者在完成该功能时没有做严格的安全控制则可能会导致攻击者通过该接口提交恶意命令让后台进行执行从而获得后台服务器权限。 利用PHP 的系统命令执行函数来调用系统命令并执行这类函数有 svstem()、exec()、shell exec()、passthru()、penti_exec()、popen()、proc_pen()等此外还有反引号命令执行这种方式实际上是调用shell_exec(函数来执行 远程系统命令执行 system(): 执行外部程序并且显示输出 exec(): 执行一个外部程序 shell_exec(): 通过 shell 环境执行命令并且将完整的输出以字符串的方式返回 passthru(): 执行unix乳统命令并且显示原始输出 pcntl_exec(): 在当前进程空间执行指定程序 popen(): 打开进程文件指针 proc_open(): 执行一个命令并且打开用来输入/输出的文件指针。 远程系统命令执行-exec函数 exec ( string KaTeX parse error: Expected EOF, got at position 17: …ommand l array ̲output [, int $return var ]]) 执行一个外部程序exec( 执行 command 参数所指定的命令。 exec执行系统外部命令时不会输出结果而是返回结果的最后一行·如果想得到结果可以使用第二个参数让其输出到指定的数组·此数组一个记录代表输出的一行。 远程系统命令执行-system函数 system ( string $command [, int return_var ] ) 函数执行 command 参数所指定的命令并且输出执行结果 system在执行系统外部命令时直接将结果输出到浏览器如果执行命令成功则派回system和exec的区别在于true否则返回false。 远程系统命令执行-passthru函数 passthru ( string KaTeX parse error: Expected EOF, got at position 16: command l, int ̲return var ]) 执行外部程序并且显示原始输出同exec0函数类似passthru0 函数 也是用来执行外部命令(command)的 当所执行的 Unix 命令输出二进制数据 并且需要直接传送到浏览器的时候需要用此函数来替代 exec0 或system0 函数。 passthru与system的区别: passthru直接将结果输出到浏览器不返回任何值且其可以输出二进制比如图像数据。第二个参数可选是状态码。 远程系统命令执行-system函数 system ( string KaTeX parse error: Expected EOF, got at position 15: command [ int ̲return_var ]) 函数执行 command 参数所指定的命令·并且输出执行结果· system和exec的区别在于·system在执行系统外部命令时·直接将结果输出到浏览器·如果执行命令成功则返回 true·否则返回false 远程系统命令执行 命令执行常用特殊字符 cmd1cmd2: 无论cmd1是否执行成功cmd2将被执行 cmd1;cmd2: 无论cmd1是否执行成功cmd2将被执行 cmd1llcmd2: 仅在cmd1执行失败时才执行cmd2 cmd1cmd2:仅在cmd1执行成功后时才执行 cmd2$(cmd) : echo $(whoami) 或者 $(touch test.sh; echo ls test.sh) cmd: 用于执行特定命令如 whoami (cmd) : (ls) (cmd) : (ls)
http://www.hkea.cn/news/14505208/

相关文章:

  • 电销做网站的话术大连网站建设流程图
  • 网站大全免费完整版营销型网站制作成都
  • 苏州关键词网站排名排名优化哪家专业
  • 制作网站首页教案建立个人网站的目的
  • 网站服务器物理地址怎么查万博法务网站建设项目
  • 深圳网站建设公司首选学生网页设计主题
  • 公司网站建设佛山哪家好莱芜网站建设优化
  • 网站建设与开发 期末作品懒人手机网站模板
  • 商业网站页面万网域名申请网站
  • 淄博品先网络科技有限公司宁波seo整体优化公司
  • 逻辑图在线制作网站建微信网站模板
  • 国外网站无法访问网站开发编程环境
  • 电子商务网站建设公司开公司怎么找客户
  • 郑州网站优化汉狮网络网站开发项目教程笔记
  • 我想做个网站怎么做的电子商务网站建设与管理的论文总结
  • 优秀设计工作室网站戴尔的网站建设
  • 建筑网站首页杭州赛虎网站建设
  • 网站建设与维护工作wordpress主机 seo
  • 网站建设的业务范围dw网页设计与制作
  • 十大下载网站免费安装广东app开发公司
  • 济南做网站哪家公司好浙江省住房和城乡建设厅官网证件查询
  • 做游戏人设计网站wordpress 建立数据库连接时出错 重启数据库
  • 做衬衫的作业网站天河网站建设开发
  • 如何成立一个房产网站保定建设环境项目网站
  • 目前做网站的好处0基础做网站多久
  • 微信 网站应用开发营销网站 需求说明书
  • app使用什么做的网站中国互联网平台
  • 高性能网站建设进阶指南pdf怎么用服务器搭建网站
  • 个人网站建设基础与实例wordpress映射不出去
  • 长沙网络安全公司张家界seo优化方案