JS和后端CGI漏洞注意点

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、对文件上传操作做验证,验证文件类型、校验格式


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CGI(Common Gateway Interface)是一种通用的Web服务器和应用程序之间的接口标准,它定义了Web服务器如何向外部程序传递数据,以及如何从外部程序获取数据的规范。当Web服务器收到一个CGI请求时,它会启动一个CGI进程来处理该请求,CGI进程将执行一些特定的任务(如生成动态网页),并将结果返回给Web服务器,最终由Web服务器将结果发送给客户端。 FastCGI(Fast Common Gateway Interface)是CGI的改进版,它采用了一种新的进程管理方式,即通过复用已经存在的进程来处理多个请求,避免了每次请求都要启动一个新的CGI进程的开销,从而提高了性能和效率。 下面是它们的区别和联系: 1. 区别:FastCGICGI在进程管理方面的不同 FastCGI采用了一种新的进程管理方式,即用进程池的方式来处理多个请求,而CGI则是每个请求启动一个新的进程。这意味着FastCGI可以避免因频繁启动新进程而造成的性能损失。 2. 区别:FastCGI支持长连接,而CGI不支持 FastCGI支持长连接,即在一次请求中可以发送多个请求,而CGI只支持一次请求一个响应。 3. 联系:FastCGICGI都是Web服务器和应用程序之间的接口标准 无论是FastCGI还是CGI,它们都是Web服务器和应用程序之间的接口标准,用于定义Web服务器如何向外部程序传递数据,以及如何从外部程序获取数据的规范。 总之,FastCGI相对于CGI具有更好的性能和效率,并且支持长连接,但是它们都是Web服务器和应用程序之间的接口标准。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值