各位前端注意浏览器地址栏也是一个输入框

337 天前
 liuqiongyu889

做前端的都知道不要相信每个输入框的内容,我真没想到浏览器地址栏也是一个输入框,然后就被搞了。 记录下整个过程:

没想到我也被黑产摆了一道

5258 次点击
所在节点    程序员
29 条回复
shansing
337 天前
我还以为有啥浏览器 API 可以直接拿地址栏的参数。像这种 url param 难道不本来就要防范 XSS 注入吗?
binaryify
337 天前
这跟输入框啥关系,不就是 url params 防范 XSS
xmumiffy
337 天前
我还以为你要说直接在地址栏输入 JavaScript 命令呢
Exdui
337 天前
@shansing #1 是需要防范 XSS ,但这些广告信息看起来不像 XSS
vevlins
337 天前
url xss 注入,shopify 外贸站重灾区,黑产 seo 常见套路。
IvanLi127
337 天前
这。。。你这好像和前端没关系呐?
oldshensheep
337 天前
可能很多人没看懂楼主发的东西,这其实不是 XSS ,我一开始也没看懂,后来懂了。
他是把 URL 里面的查询参数先显示在页面上再去查询的,然后页面上就多了很多无关的东西。

后来他改造了一下,先去用参数查询,然后再显示结果,如果没有结果就显示 404 而不是先显示查询参数。

但是其实没改造好,我去网站看了一下,查询一个存在的 tag 会先显示 404 然后再显示正常的结果

而他这个显示查询参数是不存在 XSS 漏洞的,因为现代框架都会处理的,除非你用 Vue 中的 v-html 或者 React 中的 dangerouslySetInnerHTML ,但是楼主显然不会这么傻。
leonshaw
337 天前
这难道不是搜索引擎的算法问题?
1521815837
337 天前
外链自动 nf 不就可以了?
vivipure
337 天前
就是反射 XSS, 不过攻击的不是普通用户,而是污染 SEO.
oldshensheep
337 天前
@leonshaw
不是,楼主的网站在进入网址 https://hackertalk.net/tags/********是会显示一个 tag 为********的页面,然后发起查询,如果查询不到这个 tag 就不显示内容。但是页面上显示了********,而这个********会是任意的可能。所以页面上也就会显示任意的内容,然后就被别人用来做 SEO 。

黑产通过在其他网站上构造 [https://hackertalk.net/tags/读博网站地址等广告信息] ,然后搜索引擎就会索引到
https://hackertalk.net/上有这个 [读博网站地址等广告信息] 的内容
huijiewei
337 天前
tag 不存在不应该是 404 页面么,搜索引擎会索引 404 页面么
tin3w5
337 天前
这不就是最典型的 get 请求的 inject 吗?无论是通过 api 拼接 sql 还是 js ,亦或者是系统命令……
leonshaw
337 天前
@oldshensheep
搜索引擎不应该识别这种页面内容与 URL 相关情况么?比如说由于 caidu.com 本身是一个没有审查的搜索引擎,[https://caidu.com/读博] 大概率有读博网站信息,那么用同样的攻击方法就能使得其它搜索引擎降低 caidu.com 的 rank ?
oldshensheep
337 天前
@leonshaw 搜索引擎为什么会索引搜索引擎?
@huijiewei 他这个没处理,他用的是 SSR 返回的是 HTTP 200
leonshaw
337 天前
@oldshensheep 搜索引擎怎么知道它是搜索引擎?
oldshensheep
337 天前
@leonshaw 建议你了解一下 robots.txt
leonshaw
337 天前
@oldshensheep 本来觉得 op 的情况等效于一个搜索引擎,想了一下确实不对,合法的 tag 是希望被索引的。
x86
337 天前
想起了早期 asp 时代有的垃圾站可以这样插个小马的
huijiewei
337 天前
@oldshensheep 所以这和输入框没什么关系。就是开发人员对 HTTP 协议不了解,以为一切都 200 就 OK

倒是让我想起一个比较容易被搞的页面,站内搜索页面,这里返回 404 不太合适。容易被搞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/943427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX