在HTML页面中单击超链接时出现XSS问题

问题描述 投票:0回答:1

我有一个带有超链接的页面,下面是html代码。

<a id="More Details" name="More Details" href="javascript:processing_win0(0,3000); void window.open(method1('xyz.com?param1=%27+alert(123)+%27),'','');"  tabindex="1">More Details</a>

在上面的href中,尽管“param1”被正确编码,但浏览器在点击超链接“更多细节”时会弹出一个警告弹出窗口。

这个html元素有什么问题?

javascript html xss
1个回答
0
投票

编码不正确。 param1位于xyz网址内,但JavaScript代码也位于a标记的href网址中。因此,需要两个级别的编码,一个用于内部URL,一个用于外部URL。

当为内部网址编码时,'符号变为%27,然后为另一个编码为%2527

这可以通过不将这么多代码放入href属性来解决,而是将其放入JavaScript文件中的另一个函数中。

© www.soinside.com 2019 - 2024. All rights reserved.