1.命令函数注入攻击
1)php的system、exec、passthru、shell_exec函数
通过提交参数执行脚本,查看服务器密码等信息。
2)eval 函数将输入的字符串参数当作PHP程序代码来执行
3)动态函数,传入系统自带的函数名,执行系统函数
防范方法:
1、尽量不要执行外部命令
2、使用自定义函数或函数库来替代外部命令的功能
3、使用escapeshellarg函数来处理命令参数
4、使用safe_mode_exec_dir指定可执行文件的路径
2.客户端脚本植入
将可以执行的脚本插入到表单、图片、动画或超链接文字等对象内。当用户打开这些对象后,黑客所植入的脚本就会被执行,进而开始攻击。
防范方法:
一般使用htmlspecialchars函数来将特殊字符转换成HTML编码
3.xss跨站脚本攻击
在网页中加入脚本,用户浏览后,盗取有用信息,登录网站。
防范方法:
使用htmlspecialchars函数来将特殊字符转换成HTML编码
4.sql注入攻击
通过漏洞给sql语句加入额外的语句,盗取数据库信息。
防范方法:
1.整形用intval函数过滤,字符串用addslashes函数转移字符
2.pdo
5.跨网站请求伪造
xsrf 变更用户请求http内容,让用户点击,达到目的。
6.session劫持
破解session_id,使用session_id伪造身份登录
防范方法:
1.定期更改session id
2.更改session的名称
3.关闭透明化session id
4.只从cookie检查session id
5.使用URL传递隐藏参数
7.http响应拆分
HTTP响应拆分是由于攻击者经过精心设计利用电子邮件或者链接,让目标用户利用一个请求产生两个响应,前一个响应是服务器的响应,而后一个则是攻击者设计的响应。此攻击之所以会发生,是因为WEB程序将使用者的数据置于HTTP响应表头中,这些使用者的数据是有攻击者精心设计的。
可能遭受HTTP请求响应拆分的函数包括以下几个:
header(); setcookie(); session_id(); setrawcookie();
防范的方法:
1)替换CRLF换行字符
2)使用最新版本的PHP
8.文件上传漏洞
比如上传头像,不限制文件类型,用户上传脚本,然后在此访问有头像的页面,就可能执行这个脚本。
防范方法:
检查文件上传后缀。
网友评论