PHP代码执行漏洞
来源:互联网 发布:mac系统语言改成英文 编辑:程序博客网 时间:2024/06/07 10:53
代码执行漏洞是指应用程序本身过滤不严,攻击者可以通过请求将代码注入到应用中,最终在web服务器上去执行。
危险函数执行PHP代码的有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(), create_function(), array_map()等。
1.eval()和assert()函数本身就可动态执行代码,其参数就是PHP代码
payload: <? eval('phpinfo();');?>
2.preg_replace()函数的第一个参数存在e修饰符时,第二个参数和第三个参数可能当作PHP代码被执行
危险函数执行PHP代码的有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(), create_function(), array_map()等。
1.eval()和assert()函数本身就可动态执行代码,其参数就是PHP代码
payload: <? eval('phpinfo();');?>
2.preg_replace()函数的第一个参数存在e修饰符时,第二个参数和第三个参数可能当作PHP代码被执行
preg_replace漏洞触发有两个前提:
第一个参数需要e标识符,有了它可以执行第二个参数的命令
第一个参数需要在第三个参数中的中有匹配,不然echo会返回第三个参数而不执行命令
//echo preg_replace(‘/test/e’, ‘phpinfo()’, ‘just test’);这样是可以执行命令的//echo preg_replace(‘/test/e’, ‘phpinfo()’, ‘just tesxt’); 或者echo preg_replace(‘/tesxt/e’, ‘phpinfo()’, ‘just test’); 这两种没有匹配上,所以返回值是第三个参数,不会执行命令payload:
<?php preg_replace('/\[(.*)\]/e','\\1','$_GET['a']);?>
请求1.php?a=[phpinfo()]
3.call_user_func()和array_map()等函数的作用就是调用其他函数,并将第二个参数作为回调函数的参数
payload:
<?php $b='phpinfo()'; call_user_func($_GET['a'],$b);?>
请求1.php?a=assert, 则调用了assert函数
阅读全文
0 0
- PHP代码执行漏洞
- PHP代码执行漏洞总结
- PHP代码执行漏洞总结
- PHP代码执行漏洞总结
- php cgi-wrap远程代码执行漏洞
- php cgi远程任意代码执行漏洞
- Nginx %00空字节执行任意代码(php)漏洞
- struts2代码执行漏洞
- Elasticsearch 代码执行漏洞
- [其他] 代码执行漏洞
- 任意代码执行漏洞
- php远程执行漏洞分析
- JBOSS远程代码执行漏洞
- JBOSS远程代码执行漏洞
- thinkphp任意代码执行漏洞
- thinkphp任意代码执行漏洞
- JBOSS远程代码执行漏洞
- Struts2远程代码执行漏洞
- Play on Words POJ
- error C2065: “m_Pic”: 未声明的标识符
- qualcomm平台camera bring up 分析
- 第一个Django项目
- 新的博客,新的开始。
- PHP代码执行漏洞
- python 元组、字符串及中文乱码处理、字典、集合详解
- 机器学习算法-决策树的剪枝
- Java IO包
- BZOJ 2064: 分裂 状压dp
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- Java基础3--条件选择结构
- fis3 一些特殊方法
- stm32开机时,在eeprom读取存储的内容,发送给DGUS屏进行显示数据,但是第一个数据显示是0