标签:编码 转换 target &# 标签 html HTML
HTML实体编码转换
html中不允许使用尖括号,因为会被误认为标签,但是实际生活中我们是有使用尖括号的需求的,所以我们用一种编码的方式来代替具体的符号。
即 &#加上ascii码加上分号;
如a --> a
html可以识别这种编码,但是js没有办法识别。故实际在注入的时候,我们可能需要使用svg标签来执行,就像这样
<svg><script>alert(1)</script></svg>
## 这里(和)分别是左右括号。
至于为什么可以用svg标签,之前没有接触过,粗略查了一下,这个好像是一个画图库里的使用工具,所以我猜测可能是因为需要用函数对标签里的东西进行绘画啥的。
顺手写了个小脚本,用于转换字符串为html实体编码。
s = input("Input str : ")
target = ''
for i in s:
tmp = "&#" + str(ord(i)) + ";"
target += tmp
print("HTML encode is: \n%s" % target)
# 运行效果
# D:\vscode\Web_Security>python3 html_encode.py
# Input str:alert(1)
# Result is
# alert(1)
标签:编码,转换,target,&#,标签,html,HTML 来源: https://www.cnblogs.com/AikN/p/15943831.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。