SQL注入和XSS

很多开发人员觉得天经地义的做法,都有可能成为被利用的漏洞。有兴趣可以研究一下入侵的手段,你会发现很多利用都是非常巧妙的。

web应用,最常见的两类漏洞就是SQL注入和XSS(跨站脚本),前者对威胁服务器,后者威胁终端用户。

要杜绝这两类问题,技术、原理都是非常简单的,就是很多开发人员根本没有那个意识。另外对xss来说,每个字段都要escape一下,是个体力活。

举个例子来说,针对注入的:
假设你是个论坛吧,他可以发个帖子(或者是其他的文本),把木马(他用来执行操作系统命令的jsp文件)放到帖子的正文里面,传到你的数据库的某个字段里面。
然后利用注入,执行数据库的命令,将字段里面的内容备份到文件系统的一个文件中,这样木马就传上去了。
问题1:他怎么知道哪个表哪个字段?
如果存在SQL注入,他是能分析你的数据库结构的。当然这需要比较高级的手段。不过针对很多通用的论坛系统或者是建站系统,数据库就是已知的了。
问题2:他怎么知道webapps的路径在哪里?
a、通过app server的漏洞可能会暴露脚本的路径;
b、有的服务器的错误页面会显示脚本的路径;
c、通过注入漏洞或其他漏洞获得管理员的帐号以后,进入管理界面,能够得到很多信息;
d、其他手段;

我这里只是个大概的说法,没有太多细节,因为我也没有专门研究过怎么黑别人的网站。不过针对注入、XSS的文章,网上一大把一大把的。

-----------------------------------------
预防措施:

一定要杜绝SQL注入问题,这个问题非常严肃,SQL注入可以利用的手段非常多,后果也非常严重。

除了操作系统的补丁,第三方软件的漏洞也会降低安全性。你这里至少包括数据库、tomcat、fck、甚至jdk、第三方jar等等都可以升级到大版本下的最新的补丁版本(即你用jdk1.5不一定要升到1.6,但要升级到1.5系列的最新版本)。

少留管理后门。管理员的密码要设置好。管理员越少越好,很多入侵都是从这里进入的,一点技术含量都没有,你还觉得黑客好高深。

最小权限原则,这个原则永远有用
针对数据库帐号,只授予最小的权限。
使用一个普通的操作系统用户运行tomcat,因为你是windows,NTFS默热是所有用户都可以读写的,所以你修改一下文件系统的权限,只让tomcat的用户能写log、tmp、fck的上传目录。fck的上传目录设置在web-inf下。这样即使黑客通过其他用户,比如数据库用户上传了jsp木马到你的war下,他也不能随意执行copy命令。
fck只允许上传特定的文件,比如pdf、doc、jsp。(总不能上传jsp吧)

关闭不需要的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值