我试图分离XSS有效载荷,用不同的方法分析它们的结构。 示例有效负载如下所示:
<picture><source srcset="x"><img onerror="***payload***"></picture>
现在我需要将不同的部分分开以得到以下输出:
picture source srcset x img onerror ***payload***
我的问题是,有时有效负载包含文本内容,有时又包含另一个HTML元素(如示例中所示)作为内容。如果我简单地附加“upper”HTML元素的内容,输出将是错误的,因为我将在该元素上进行第二次迭代。你知道吗
我的代码如下所示:
for x in self.normalized_payloads:
tmp = []
soup = BeautifulSoup(x, 'html.parser')
elements = soup.find_all()
for y in elements:
tmp.append(y.name)
for u in y.attrs.keys():
tmp.append(u)
tmp.append(y.attrs[u])
seperated_payloads.append(tmp)
如何区分文本和作为HTML元素内容的另一个HTML元素?您是否有其他方法来获得这个输出,而不必遍历负载的每个HTML元素?你知道吗
所以,我想出了一个可行的解决方案:
这段代码检查子元素是可解析的HTML元素还是文本。你知道吗
相关问题 更多 >
编程相关推荐