精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-09-28
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-09-28
Sorry, 晚上聊天的时候我没看清楚,我看成字符编码的过滤器呢, 就给你说spring里面有, 惭愧中........
这种要求,你可以找找开源的那Java论坛,比如Jive,CnJSP.com的CnJBB等, 当然我不敢确定有,只是隐约记得. |
|
返回顶楼 | |
发表时间:2005-09-29
Morgan0916 写道 Sorry, 晚上聊天的时候我没看清楚,我看成字符编码的过滤器呢, 就给你说spring里面有, 惭愧中........
这种要求,你可以找找开源的那Java论坛,比如Jive,CnJSP.com的CnJBB等, 当然我不敢确定有,只是隐约记得. 呵呵. 本来可以自己使用StringBuffer过滤,想你说的可能考虑的没有现成的开源项目全面,比如Jive中的过滤应该很全面了。但是我这里也没有源代码,不知道有没有看过Jive表单提交后的代码的朋友。 |
|
返回顶楼 | |
发表时间:2005-09-29
这种攻击一般称为XSS跨站脚本攻击。是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。 我是使用正则表达式来做的。会过滤掉一些在用户看来是正常的输入。要依据用户的需求而定。或者和用户说明。 |
|
返回顶楼 | |
发表时间:2005-09-30
JJYAO 写道 这种攻击一般称为XSS跨站脚本攻击。是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。 我是使用正则表达式来做的。会过滤掉一些在用户看来是正常的输入。要依据用户的需求而定。或者和用户说明。 咱们说得好像不是一个意思,你说得情况是有的人可以破解网站的服务器,从而修服务器上html或者jsp页面的代码,从而使浏览该网页的用户受到攻击。 而我的意思是如果有的用户在网页的form中提交数据的时候,故意用一些特殊字符跳过检查,输入一些类似“delete from table... ..” 的信息,使后台的数据被非法删除.我一时想不出怎样执行这些非法sql的方法,但是我想可能会有办法做到.我想得到这种攻击的解决方法.你们在项目中考虑过这种情况么 |
|
返回顶楼 | |
发表时间:2005-09-30
lyo 写道 JJYAO 写道 这种攻击一般称为XSS跨站脚本攻击。是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。 我是使用正则表达式来做的。会过滤掉一些在用户看来是正常的输入。要依据用户的需求而定。或者和用户说明。 咱们说得好像不是一个意思,你说得情况是有的人可以破解网站的服务器,从而修服务器上html或者jsp页面的代码,从而使浏览该网页的用户受到攻击。 而我的意思是如果有的用户在网页的form中提交数据的时候,故意用一些特殊字符跳过检查,输入一些类似“delete from table... ..” 的信息,使后台的数据被非法删除.我一时想不出怎样执行这些非法sql的方法,但是我想可能会有办法做到.我想得到这种攻击的解决方法.你们在项目中考虑过这种情况么 所以如果是CUD操作的话,我N少会拼SQL,而是用?模式。如果是拼SQL的话,我是简单的过滤掉单引号。其它的情况很少。 |
|
返回顶楼 | |
发表时间:2005-09-30
xiaoyu 写道 lyo 写道 JJYAO 写道 这种攻击一般称为XSS跨站脚本攻击。是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。 我是使用正则表达式来做的。会过滤掉一些在用户看来是正常的输入。要依据用户的需求而定。或者和用户说明。 咱们说得好像不是一个意思,你说得情况是有的人可以破解网站的服务器,从而修服务器上html或者jsp页面的代码,从而使浏览该网页的用户受到攻击。 而我的意思是如果有的用户在网页的form中提交数据的时候,故意用一些特殊字符跳过检查,输入一些类似“delete from table... ..” 的信息,使后台的数据被非法删除.我一时想不出怎样执行这些非法sql的方法,但是我想可能会有办法做到.我想得到这种攻击的解决方法.你们在项目中考虑过这种情况么 所以如果是CUD操作的话,我N少会拼SQL,而是用?模式。如果是拼SQL的话,我是简单的过滤掉单引号。其它的情况很少。 “而是用?模式” 是个好方法. 我开始也是过滤掉单引号就认为可以了,我说的sql攻击不知道是不是考虑的多余了,因为 form提交的数据发送到数据库后是在“”中的,所以即使是有恶意的sql,因为是在string中,“'delete from table...' ”,所以数据库也不会执行它的。不知道对不对 |
|
返回顶楼 | |
发表时间:2005-09-30
lyo 写道 xiaoyu 写道 lyo 写道 JJYAO 写道 这种攻击一般称为XSS跨站脚本攻击。是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。 我是使用正则表达式来做的。会过滤掉一些在用户看来是正常的输入。要依据用户的需求而定。或者和用户说明。 咱们说得好像不是一个意思,你说得情况是有的人可以破解网站的服务器,从而修服务器上html或者jsp页面的代码,从而使浏览该网页的用户受到攻击。 而我的意思是如果有的用户在网页的form中提交数据的时候,故意用一些特殊字符跳过检查,输入一些类似“delete from table... ..” 的信息,使后台的数据被非法删除.我一时想不出怎样执行这些非法sql的方法,但是我想可能会有办法做到.我想得到这种攻击的解决方法.你们在项目中考虑过这种情况么 所以如果是CUD操作的话,我N少会拼SQL,而是用?模式。如果是拼SQL的话,我是简单的过滤掉单引号。其它的情况很少。 “而是用?模式” 是个好方法. 我开始也是过滤掉单引号就认为可以了,我说的sql攻击不知道是不是考虑的多余了,因为 form提交的数据发送到数据库后是在“”中的,所以即使是有恶意的sql,因为是在string中,“'delete from table...' ”,所以数据库也不会执行它的。不知道对不对 恩,在单引号里的是不会被执行的(当字符串处理)。只是还有另一些特时字符(特别是数据库特有的),可能会影响结果。或者数据处理。 |
|
返回顶楼 | |
发表时间:2005-09-30
只要过滤掉 数据库中的“'”,恶意sql就肯定不会被执行,应该就是安全的了,因为其他字符都不影响执行 sql
你们是不是用 ‘(全角) 来替换掉 ' (半角)的?我看 javaeye好像不是这样过滤的,全角的 ’和半角的'都可以正常显示 |
|
返回顶楼 | |
发表时间:2005-09-30
lyo 写道 只要过滤掉 数据库中的“'”,恶意sql就肯定不会被执行,应该就是安全的了,因为其他字符都不影响执行 sql
你们是不是用 ‘(全角) 来替换掉 ' (半角)的?我看 javaeye好像不是这样过滤的,全角的 ’和半角的'都可以正常显示 用两个单引号('') |
|
返回顶楼 | |