1
jifengg 2019-04-02 12:30:50 +08:00 1
xss 可以由前端控制。输入随便,输出的时候,前端不能直接输出,要做转义等等的。
但是接口对前端传过来的数据,统一采用“不信任”原则,你需要用到的数据,就需要做校验。 |
2
Va1n3R 2019-04-02 12:42:26 +08:00 via Android 1
xss 的危害并不是执行死循环之类的 self-xss,而是在于对同域数据的读取。比如你 api 的域名是你司的某个业务的子域名,那么你不做过滤的后果就是危害了整个业务的用户信息泄露(xss 窃取 cookie),更甚者可以通过 xss 接管后台管理账户或者探测进而控制后台功能。
|
3
lllllliu 2019-04-02 14:56:15 +08:00 1
永远不要相信用户的输入。前端过滤一遍,后端除了框架的过滤,再结合情况自己写验证规则,反正写一次全部都可以用。再结合实际情况能用数据类型约束就用,别一直都 string。必要的数据加密,解密都是可以做的。
|
4
yestodayHadRain OP @Va1n3R 大佬可不可以分享下,你或者你们公司当前对 xss 过滤是怎么做的呢?
|
5
WordTian 2019-04-02 16:11:50 +08:00
建议做一下,XSS 漏洞的威胁等级还是挺高的
|
6
crab 2019-04-02 16:17:19 +08:00 1
[只是影响客户端的展示而已] = =!
https://ctf-wiki.github.io/ctf-wiki/web/xss/ |
7
yestodayHadRain OP @crab 对不起,大佬.请原谅我的无知
|
8
yestodayHadRain OP @WordTian 可不可以说一下具体怎么实现,给个思路就好
|
9
WordTian 2019-04-02 16:44:46 +08:00 via Android
比较常见的做法是对输入加过滤器
搜索 XSS Filter,应该有不少别人写好的过滤器,你可以瞅瞅 |
10
night98 2019-04-02 17:06:01 +08:00
怎么可能在接口里写,这种都是全局拦截并转义的
|
11
yestodayHadRain OP |