PHP常见安全漏洞

·PHP $_SERVER["PHP_SELF"]变量利用

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">

当黑客使用跨站攻击时,$_SERVER["PHP_SELF"]服务器变量也会被植入脚本。原因就是跨站脚本是附在执行文件的路径后面的。

当在test.php中提交表单到本页的时候,我们可以访问 http://www.xxx.org/test.php/%22><script>alert(test);</script>

此时页面中的表单提交会写成:

<form action="test.php/"><script>alert(test);</script> method="post">

 

·strip_tags函数

  1. <!--?php  
  2.     <input name="subject" type="text" value="<?php echo strip_tags($row['subject']);?-->" size="60" /> ?> 

现在假如我们在文本框中输入 v" onmouseover="alert();

刚才的代码就可以组成如下所示:

<input type="text" value="v" onmouseover="alert();">

 

·命令注入攻击和eval注入攻击

(1)尽量不要执行外部的应用程序或命令。

(2)使用自定义函数或函数库来替代外部程序或命令的功能。

(3)使用escapeshellarg函数来处理命令的参数。

(4)使用safe_mode_exec_dir来指定可执行的文件路径。

(5)事先列出可以提供给 system、eval 等函数的参数。

 

其它:

  1. 命令注入攻击(Command Injection)
  2. eval注入攻击(Eval Injection)
  3. 客户端脚本攻击(Script Insertion)
  4. 跨网站脚本攻击(Cross Site Scripting,XSS)
  5. SQL注入攻击(SQL injection)
  6. 跨网站请求伪造攻击(Cross Site Request Forgeries,CSRF)
  7. Session会话劫持攻击(Session Hijacking)
  8. Session固定攻击(Session Fixation)
  9. HTTP相应拆分攻击(HTTP Response Splitting)
  10. 文件上传攻击(File Upload Attack)
  11. 目录穿越漏洞(Directory Traversal)
  12. 远程文件包含攻击(Remote Inclusion)
  13. 动态函数注入攻击(Dynamic Variable Evaluation)
  14. URL攻击(URL attack)
  15. 表单提交欺骗攻击(Spoofed Form Submissions)
  16. HTTP请求欺骗攻击(Spoofed HTTP Requests)

 

 

 

posted @ 2012-08-09 12:00  luckc#  阅读(249)  评论(0)    收藏  举报