JS部分:
1、对插入DOM中的URL参数做HTML编码处理(qv.string.encodeJs(实现中)qv.string.encodeHTML)。
2、对需要作为脚本执行的URL参数做特殊处理,需要将不可信内容做如下的转码: [a-zA-Z0-9.-_,]以及ASC值大于0x80之外的所有字符转化为\x**这种形式
3、对跳转目标URL做验证处理,保证目的地址是合法的。
4、对CGI请求加上token(qq.security.getCSRFToken(object conf))
5、页面中不要包含内网IP和内网域名
CGI部分:
1、对输出到前端页面的展示内容做HTML编码(htmlspecialchars、htmlentities)
2、对输出到前端页面作为脚本执行的内容做特殊处理,需要将不可信内容做如下的转码: [a-zA-Z0-9.-_,]以及ASC值大于0x80之外的所有字符转化为\x**这种形式
3、使用tphplib的安全函数来获取前端参数(tphp_misc_get/tphp_misc_post/tphp_misc_cookie/tphp_misc_input/tphp_misc_request,此类函数已做过HTML编码处理)
4、对请求做token认证
5、对作为shell执行的用户输入中的特殊字符进行转义,(escapeshellarg、escapeshellcmd)
6、上线前关闭错误输出、调试输出
7、不使用test.php、phpinfo.php作为文件名。
8、不发布.bak、.swp、.old等文件,如必须在现网修改文件,请删除一切中间残留文件。
9、不发布.svn目录,防止SVN信息泄漏。
10、对文件上传操作做验证,验证文件类型、校验格式
JS和后端CGI漏洞注意点
最新推荐文章于 2023-11-13 14:40:05 发布