php漏洞全解(二)-命令注入攻击

php漏洞全解(二)-命令注入攻击

ID:11161365

大小:122.50 KB

页数:4页

时间:2018-07-10

php漏洞全解(二)-命令注入攻击_第1页
php漏洞全解(二)-命令注入攻击_第2页
php漏洞全解(二)-命令注入攻击_第3页
php漏洞全解(二)-命令注入攻击_第4页
资源描述:

《php漏洞全解(二)-命令注入攻击》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文主要介绍针对PHP网站常见的攻击方式中的命令攻击。CommandInjection,即命令注入攻击,是指这样一种攻击手段,黑客通过把HTML代码输入一个输入机制(例如缺乏有效验证限制的表格域)来改变网页的动态生成的内容。使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此。如果使用了被污染数据,命令注入漏洞就产生了。AD:命令注入攻击PHP中可以使用下列5个函数来执行外部的应用程序或函数system、exec、passthru、shell_exec、“(与she

2、ll_exec功能相同)函数原型stringsystem(stringcommand,int&return_var)  command要执行的命令  return_var存放执行命令的执行后的状态值stringexec(stringcommand,array&output,int&return_var)  command要执行的命令  output获得执行命令输出的每一行字符串  return_var存放执行命令后的状态值voidpassthru(stringcommand,int&return

3、_var)  command要执行的命令  return_var存放执行命令后的状态值  stringshell_exec(stringcommand)  command要执行的命令漏洞实例例1:1.//ex1.php 2. 我们提交http://www.sectop.com/ex1.

4、php?dir=

5、cat/etc/passwd提交以后,命令变成了system("ls-al

6、cat/etc/passwd");eval注入攻击eval函数将输入的字符串参数当作PHP程序代码来执行函数原型:mixedeval(stringcode_str)//eval注入一般发生在攻击者能控制输入的字符串的时候1.//ex2.php 2.

7、val("$var = $arg;"); 6.echo "$var =".$var; 7.} 8.?> 当我们提交http://www.sectop.com/ex2.php?arg=phpinfo();漏洞就产生了;动态函数1.

8、nc"]; 13.echo $myfunc(); 14.} 15.?> 程序员原意是想动态调用A和B函数,那我们提交http://www.sectop.com/ex.php?func=phpinfo漏洞产生防范方法1、尽量不要执行外部命令2、使用自定义函数或函数库来替代外部命令的功能3、使用escapeshellarg函数来处理命令参数4、使用safe_mode_exec_dir指定可执行文件的路径esacpeshellarg函数会将任何引起参数或命令结束的字符转义,单引号“’”,替换成“’”

9、,双引号“"”,替换成“"”,分号“;”替换成“;”用safe_mode_exec_dir指定可执行文件的路径,可以把会使用的命令提前放入此路径内safe_mode=Onsafe_mode_exec_dir=/usr/local/php/bin/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。