当前位置:首页 > 黑客教程 > 正文内容

javaxss注入(java防止xss注入)

hacker3年前 (2022-05-31)黑客教程115

本文导读目录:

java服务接口怎么避免xss注入攻击

过滤特定符号

    public static String guolv(String a) {

        a = a.replaceAll("%22", "");

        a = a.replaceAll("%27", "");

        a = a.replaceAll("%3E", "");

        a = a.replaceAll("%3e", "");

        a = a.replaceAll("%3C", "");

        a = a.replaceAll("%3c", "");

        a = a.replaceAll("", "");

        a = a.replaceAll("", "");

        a = a.replaceAll("\"", "");

        a = a.replaceAll("'", "");

        a = a.replaceAll("\\+", "");

        a = a.replaceAll("\\(", "");

        a = a.replaceAll("\\)", "");

        a = a.replaceAll(" and ", "");

        a = a.replaceAll(" or ", "");

        a = a.replaceAll(" 1=1 ", "");

        return a;

几种极其隐蔽的XSS注入的防护

XSS注入的本质

就是: 某网页中根据用户的输入, 不期待地生成了可执行的js代码, 并且js得到了浏览器的执行. 意思是说, 发给浏览器的字符串中, 包含了一段非法的js代码, 而这段代码跟用户的输入有关.

常见的XSS注入防护, 可以通过简单的 htmlspecialchars(转义HTML特殊字符), strip_tags(清除HTML标签) 来解决, 但是, 还有一些隐蔽的XSS注入不能通过这两个 *** 来解决, 而且, 有时业务需要不允许清除HTML标签和特殊字符. 下面列举几种隐蔽的XSS注入 *** :

IE6/7 UTF7 XSS 漏洞攻击

隐蔽指数: 5

伤害指数: 5

这个漏洞非常隐蔽, 因为它让出现漏洞的网页看起来只有英文字母(ASCII字符), 并没有非法字符, htmlspecialchars 和 strip_tags 函数对这种攻击没有作用. 不过, 这个攻击只对 IE6/IE7 起作用, 从 IE8 起微软已经修复了. 你可以把下面这段代码保存到一个文本文件中(前面不要有空格和换行), 然后用 IE6 打开试试(没有恶意代码, 只是一个演示):

+/v8 +ADw-script+AD4-alert(document.location)+ADw-/script+AD4-

最容易中招的就是 *** ONP 的应用了, 解决 *** 是把非字母和数字下划线的字符全部过滤掉. 还有一种 *** 是在网页开始输出空格或者换行, 这样, UTF7-XSS 就不能起作用了.

因为只对非常老版本的 IE6/IE7 造成伤害, 对 Firefox/Chrome 没有伤害, 所以伤害指数只能给 4 颗星.

参考资料:UTF7-XSS不正确地拼接 JavaScript/ *** ON 代码段

隐蔽指数: 5

伤害指数: 5

Web 前端程序员经常在 PHP 代码或者某些模板语言中, 动态地生成一些 JavaScript 代码片段, 例如最常见的:

var a = '?php echo htmlspecialchars($name); ?';

不想, $name 是通过用户输入的, 当用户输入a’; alert(1); 时, 就形成了非法的JavaScript 代码, 也就是XSS 注入了.

只需要把上面的代码改成:

var a = ?php echo json_encode($name); ?;

去掉单引号, 利用 PHP 的 json_encode() 函数来生成表示字符串的字符串. 这样做是因为,

更好用 json_encode() 函数来生成所有的 *** ON 串, 而不要试图自己去拼接

. 程序员总是犯这样的错误: 自己去解析 HTTP 报文, 而不是用现成的成熟的库来解析. 用 json_encode() 的好处还在于, 即使业务要求我要保留单引号时, XSS注入也可以避免.

隐蔽指数更高级, 伤害所有的通用浏览器

. 这种 XSS 注入方式具有非常重要的参考意义.

最后, 根据工作中的经验, 以及我自己和别人犯过的错, 我总结出一个定理: 没有一劳永逸的单一 *** 可以解决所有 XSS 注入问题.

有用的经验:输出 HTML 代码时 htmlspecialchars输出JavaScript 代码时 json_encode

输入过滤应该用于解决业务限制, 而不是用于解决 XSS 注入(与严进宽出的原则相悖, 所以本条值得讨论)讨论:上文提到的经验第3条, 是一种宽进严出的原则, 和严进宽出原则是相悖的. 其实, 我认为不应该把严进宽出作为一条伪真理, 好像除了它其它的说法都不对了似的. 宽进严出和严进宽出应该具有完全相等的地位, 根据实现的成本进行取舍.

例如, 用户的名字可以采用严进宽出原则, 不允许用户填写单引号, 大于号小于号等. 但是用户的签名呢? 难道就不能填单引号?

如何解决繁琐的WEB前端的XSS问题

后台做一层过滤,前台文本编辑器可以自己做一层标签过滤,不允许一些符号的输入就行了

xss攻击前端能做的有限

因为好多都是url转码来通过参数找漏洞,所以后台也要做一层过滤(例如nodejs的sql库就只允许单行sql,防止通过xss做注入)java之类的有现成多xss过滤器

剩下的就做ip黑名单吧,防止多次攻击

javascript关于XSS注入的一些问题

xss注入的内容是给浏览器看的东西,所以只要让浏览器认为它不是需要被解析的html标签或者脚本就可以了。过滤掉'' ,或者把'',''都过滤掉,已经可以保证不会被xss注入了。但是这需要建立在你其他代码没有注入漏洞的前提下。

xss注入漏洞产生的原因?xss注入过程步骤是什么?防范xss注入的 *** 有哪些

对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心。请记住两条原则:过滤输入和转义输出。

一、什么是XSS

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。

在WEB2.0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。

二、XSS攻击的主要途径

XSS攻击 *** 只是利用HTML的属性,作各种的尝试,找出注入的 *** 。现在对三种主要方式进行分析。

之一种:对普通的用户输入,页面原样内容输出。

打开http://go.ent.163.com/goproducttest/test.jsp(限公司IP),输 入:scriptalert(‘xss’)/script, *** 脚本顺利执行。当攻击者找到这种 *** 后,就可以传播这种链接格式的链接 (http://go.ent.163.com/goproducttest/test.jsp?key= *** CODE)如:http: //go.ent.163.com/goproducttest/test.jsp?key=scriptalert(‘xss’) lt;/script,并对 *** CODE做适当伪装,如:

http://go.ent.163.com/goproducttest/test.jsp?key=%3c%73%63%72%69%70 %74%3e%61%6c%65%72%74%28%27%78%73%73%27%29%3c%2f%73%63%72%69%70%74%3e,当其 它用户当点此链接的时候, *** 就运行了,造成的后果会很严重,如跳去一个有木马的页面、取得登陆用户的COOKIE等。

第二种:在代码区里有用户输入的内容

原则就是,代码区中,绝对不应含有用户输入的东西。

第三种:允许用户输入HTML标签的页面。

用户可以提交一些自定义的HTML代码,这种情况是最危险的。因为,IE浏览器默认采用的是UNICODE编码,HTML编码可以用ASCII方式来写,又可以使用”/”连接16进制字符串来写,使得过滤变得异常复杂,如下面的四个例子,都可以在IE中运行。

1,直接使用 *** 脚本。

img src=”javascript:alert(‘xss’)” /

2,对 *** 脚本进行转码。

img src=”javascript:alert(‘xss’)” /

3,利用标签的触发条件插入代码并进行转码。

img onerror=”alert(‘xss’)” /

4,使用16进制来写(可以在傲游中运行)

img STYLE=”background-image: /75/72/6c/28/6a/61/76/61/73/63/72/69/70/74/3a/61/6c/65/72/74/28/27/58/53/53/27/29/29″

以上写法等于img STYLE=”background-image: url(javascript:alert(‘XSS’))”

三、XSS攻击解决办法

请记住两条原则:过滤输入和转义输出。

具体执行的方式有以下几点:

之一、在输入方面对所有用户提交内容进行可靠的输入验证,提交内容包括URL、查询关键字、http头、post数据等

第二、在输出方面,在用户输内容中使用XMP标签。标签内的内容不会解释,直接显示。

第三、严格执行字符输入字数控制。

四、在脚本执行区中,应绝无用户输入。

扫描二维码推送至手机访问。

版权声明:本文由黑客24小时在线接单网站发布,如需转载请注明出处。

本文链接:https://www.cn-sl.com/111391.html

标签: javaxss注入
分享给朋友:

“javaxss注入(java防止xss注入)” 的相关文章

最低价股票排名(2021年3元以下有潜力的股票)

 六00 七0 一*ST工新 四点0 八元, 六00 八 六 八尔一向 看孬 六00 二 一 二,的无机会出借有涨停百分之 一0的有详细 .购进后最佳 三个月别看它, 六00 二 一 七,高价股皆是年夜 盘股多! 五。联合 (市亏率的,下科技。 A股曾经出有 三元如下的了,ST秦岭 三。无论哪一种类...

天猫双十一活动什么时候开始华流

从前 提到单十一这皆是王老五骗子 才过的节日,而如今 单十一撼身一酿成 了齐平易近 买物狂悲节。正在单十一时代 以淘宝地猫为主的买物仄台都邑 拉没各类 劣惠运动 以及谦减扣头 ,否以算患上上是整年 最廉价 的时刻 了。这么地猫单十一运动 何时开端 呢?上面便跟百思特小编去具体 相识 一高 二0 二0...

为什么中科软那么缺人(中科软科技转正后待遇)

用户发问去自:仄头庶民  一 二 三 董秘您孬!私司的职工实的有 一 五000多人吗?认为 太离谱了吧?仿佛 是逸动麋集 型的私司!岂非 是本身 动工厂组拆计较 机? 董秘归复: 尊重 的投资者,你孬!开开你的。截止 二0 一 九年 一 二月 三 一日,私司职工总额为 一 七,0 九 九人,私...

电视什么牌子好(电视什么牌子好什么性价比最高)

 二0 二 一电望盒子哪一个牌子最佳?发热 友年夜 谭真测 三0款后,深度解读! 二0 二 一年0 八月 一 四日 一0:0 二做者:收集 编纂 :雄伟 分享年夜 野孬,尔是数码发热 友年夜 谭,一位正在数码圈摸爬滚挨多年的数码迷。电望盒子哪一个牌子最佳?对付 没有熟习 电望盒子的人去说,遴选 起去...

美女的胸部长什么样图片(美女的胸部长什么样图片爱套图)

图片美男 的胸部少甚么样乳房是身体朽迈 最快的部位之一。英国研讨 职员 指没,父性的乳房朽迈 初于 三 五岁,此时乳房的饱满 度下降 ,以是 越晚越孬。一级办法 :一般做息.乳房越年夜 ,越有呼引力。其真它的年夜 小、外形 、地位 皆是缺一弗成 的。卫熟   图片美男 的胸部少甚么样乳房是身体朽...

国考是什么时候?(国考是什么时候考试)

本题标:国考是何时?(国考是何时测验 )国度 公事 员测验 ,简称“国考”,指中心 、国度 机闭公事 员测验 ,是国度 部、委、署、总局应试正在中心 国度 机闭的事情 职员 的一种体式格局,应试前提 相对于比拟 严厉 ,正常均 请求整日 造原科应届、历届卒业 熟,部门 职位 请求硕士研讨 熟战英语四...

评论列表

世味雾月
3年前 (2022-05-31)

 "");        a = a.replaceAll("%27", "");        a = a.replaceAll("%3E", "");        a = a.replaceAll("%3e", ""); 

惑心俗野
3年前 (2022-05-31)

本文导读目录:1、java服务接口怎么避免xss注入攻击2、几种极其隐蔽的XSS注入的防护3、如何解决繁琐的WEB前端的XSS问题4、javascript关于XSS注入的一些问题5、xss注入漏洞产生的原因?xss注入过程步骤是

馥妴温人
3年前 (2022-05-31)

待地生成了可执行的js代码, 并且js得到了浏览器的执行. 意思是说, 发给浏览器的字符串中, 包含了一段非法的js代码, 而这段代码跟用户的输入有关.常见的XSS注入防护, 可以通过简单的 htmlspecialchars(转义HTML

只影折木
3年前 (2022-05-31)

码区里有用户输入的内容原则就是,代码区中,绝对不应含有用户输入的东西。第三种:允许用户输入HTML标签的页面。用户可以提交一些自定义的HTML代码,这种情况是最危险的。因为,IE浏览器默认采用的是UNICODE编码,HTML编

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。