作者:zccst
真是应了那样一句话:“用到了,才体会深刻”。
近期,安全评估小组对我负责的Web系统进行安全检查,发现了很多漏洞,这些都是我平常没有注意到的地方,或者认为不是那么重要的地方。
1,sql注入
(1) 比如,从前端接收一个ID,来查询或更新数据时,如果ID被篡改为id="100 and 1=2",则会查询为空。
(2) 单引号
可以在执行sql前,使用mysql_escape_string()方法。
注意:yii的ActiveRecord已经考虑该问题。
参考:
2,XSS漏洞
比如有一个输入框:input,输入了一段”/><script>alert(cookie)</script>“,则在显示时会引起安全问题。因为他先封闭了html标签,然后执行一段脚本。
解决办法:进行html标签过滤。
htmlspecialchars方法()
把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
3,定时任务篡改
参数组携带ls -al命令,再用system();输出。
真是应了那样一句话:“用到了,才体会深刻”。
近期,安全评估小组对我负责的Web系统进行安全检查,发现了很多漏洞,这些都是我平常没有注意到的地方,或者认为不是那么重要的地方。
1,sql注入
(1) 比如,从前端接收一个ID,来查询或更新数据时,如果ID被篡改为id="100 and 1=2",则会查询为空。
(2) 单引号
可以在执行sql前,使用mysql_escape_string()方法。
注意:yii的ActiveRecord已经考虑该问题。
参考:
2,XSS漏洞
比如有一个输入框:input,输入了一段”/><script>alert(cookie)</script>“,则在显示时会引起安全问题。因为他先封闭了html标签,然后执行一段脚本。
解决办法:进行html标签过滤。
htmlspecialchars方法()
把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
" (双引号) 成为 "
' (单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
3,定时任务篡改
参数组携带ls -al命令,再用system();输出。