从攻击角度和防御角度看 Web 安全:XSS、CSRF、Injection、Dos、DDos、中间人攻击
Cross-Site Scripting )Stored XSS
Reflected XSS
host/path/?param=<script>alert('123')</script>DOM-based XSS
Mutation-based XSS
利用了浏览器渲染 DOM 的特性(独特优化)
不同浏览器,会有区别(按浏览器进行攻击)
例如:
<noscript><p title="</noscript><img src=x onerror=alert(1)>">CSRF( Cross-site request forgery )
在用户不知情的前提下
利用用户权限(cookie)
构造指定 HTTP 请求,窃取或修改用户敏感信息
例如:
<img style="display:none;" src="https://bank.com/transfer?to=hacker&amount=100"/>攻击流程:
例如: SELECT XXX FROM ${'any; DROP TABLE table;'}
例如:
const command = covert-cli video -o '${"' && rm -rf /"}' Denial of Service )例如:
/^((ab)*)+$/"abababababababa"Distributed DoS )例如: SYN Flood
前提:
危害:
攻击方:
可用工具:
google-closure-libraryDOMPurify注意点:
background: url("https://example.com/?income=gt10k") 窃取用户隐私)安全设置:
Content Security Policy ):确认安全来源的脚本、拒绝 eval 等X-Frame-Options: DENY/SAMEORIGINprepared statementsudo 或者 root 执行命令rm 命令/(ab*)+/ 这样的代码
HTTP Strict-Transport-Security ):将 HTTP 主动升级到 HTTPS
SubResource Integrity ):对比从 CDN 中拿到的文件 hash 值,例如: <script src="/example/app.js" integrity="sha384-{some-hash-value}" crossorigin= "anonymous"></script>