8

老哥们, html 标签过滤了=号&和%有没有可以直接写标签属性的方法?

 2 years ago
source link: https://www.v2ex.com/t/833958
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

老哥们, html 标签过滤了=号&和%有没有可以直接写标签属性的方法?

  cyrbuzz · HuberTRoy · 18 小时 39 分钟前 · 889 次点击

例:<a href="xyz"></a>会过滤为<a href"xyz"></a>

不用 js 的情况下还有办法能让 href 正常生效吗?

19 条回复    2022-02-15 22:20:19 +08:00

Huyoumnonos

Huyoumnonos      14 小时 50 分钟前 via Android

啥意思😳,没读懂

cyrbuzz

cyrbuzz      14 小时 32 分钟前

@Huyoumnonos

类似 XSS ,过滤了部分字符。

gadfly3173

gadfly3173      13 小时 39 分钟前   ❤️ 2

@cyrbuzz #2 你这是 AB 问题了吧 不如把完整的情况写出来。。。

shew2356

shew2356      13 小时 31 分钟前

=号过滤了,又不用 js ,那没办法~

shew2356

shew2356      13 小时 29 分钟前   ❤️ 1

@Huyoumnonos 楼主的意思是,可能用正则手段过滤了 html 中的 =,&,%等符号,然后想 a 链接正常生效,又不用 js 在过滤之后再渲染最佳~

vanton

vanton      13 小时 28 分钟前

禁用了 = 号?
不用 js 那就没啥可能了。

Zzm1203

Zzm1203      13 小时 27 分钟前

你这个是怎么过滤的?正则替换吗?如果不用 js 好像没什么办法,并且您的表述确实不知道这到底是个什么,前提条件和最终效果都是什么样的,在什么样的一个执行机制下,还有为什么不能用 js 去做

yinjunjian0

yinjunjian0      13 小时 18 分钟前

过滤也是自己做的编译过滤的吧
设置范围过滤就好了

cyrbuzz

cyrbuzz      12 小时 52 分钟前

@gadfly3173
@Zzm1203
@yinjunjian0

emmm...例子是完整情况。

我期望通过输入`<a href="123">123</a>`的方式让 a 标签生效,但现在我输入的`<a href="123">123</a>`会被后端过滤为`<a href"123">123</a>`,前端拿到后不会做任何过滤直接输出。后端如何写的替换并不清楚= =,无法控制过滤规则。

不能用 JS 是一个限制条件。

@shew2356

完全就是这个意思~。

cyrbuzz

cyrbuzz      12 小时 52 分钟前

@vanton

大佬,不在挣扎一下吗= =。

zcf0508

zcf0508      12 小时 35 分钟前 via Android

@cyrbuzz 后端的锅让他们自己处理

maplerecall

maplerecall      12 小时 33 分钟前

没办法。

如果你是开发者,这种不合理的过滤规则找后端改,因为即使能用 JS 处理也不合理,反而会导致容易被 XSS 。
如果你是使用者,也许自定义标签属性这种行为本身就属于不被允许的,有需求只能找服务提供方去改。

mxT52CRuqR6o5

mxT52CRuqR6o5      12 小时 31 分钟前

不过滤百分之一万会有 xss 风险
href 里写"javascript:XXXX"就能执行任意 js 代码

Xusually

Xusually      12 小时 30 分钟前   ❤️ 3

这在我看来是“OP 在想办法绕过过滤去做 XSS”的问题

cyrbuzz

cyrbuzz      12 小时 0 分钟前

@Xusually

是= =,只是并不为了攻击。

cyrbuzz

cyrbuzz      11 小时 55 分钟前

@mxT52CRuqR6o5

是的,还是有 XSS 风险,只是我的目的不是攻击,也没有权限改其他人的网站。

mxT52CRuqR6o5

mxT52CRuqR6o5      11 小时 39 分钟前 via Android

@cyrbuzz 你不是恶意的,不代表其他人都不是恶意的啊,各种安全策略其实就是在防范可能出现的满怀恶意的人

jin5354

jin5354      10 小时 27 分钟前

那你加个中间层,维护个 map 映射表,提交前自己把 =,% 这种符号替换成 __$0 ,__$1 之类的,获取时自己再替换回来。

learningman

learningman      8 小时 31 分钟前

ctf 刷题呢,盲猜有别的字符可以转成=号,sql 构造试试

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK