-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第66题:聊一聊XSS和CSRF呢?(网络安全) #67
Comments
XSSCross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击. XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。 对输入保持不可信。 XSS分类
XSS防御
CSRFCross-site request forgery 跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求. 利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。 一个典型的CSRF攻击有着如下的流程:
cookie一般用于保存信息,你向同一个服务器发请求时会带上浏览器保存的对于那个服务器的cookie,而不管你从哪个网站发请求 ps. http请求都会带着请求目标域下的cookie的。只要你向A网站发了请求,就会带上A网站的cookie。所以重要操作的请求,认证信息都是不能存放在cookie中的。 Cookie 是紧跟域名的。同一个域名下的所有请求,都会携带 Cookie 攻击者借助受害者的 Cookie 骗取服务器的信任,但并不能拿到 Cookie,也看不到 Cookie 的内容 常见的CSRF攻击类型
GET类型的CSRF利用非常简单,只需要一个HTTP请求 <img src="http://bank.example/withdraw?amount=10000&for=hacker" > 在受害者访问含有这个img的页面后,浏览器会自动向
这种类型的CSRF利用起来通常使用的是一个自动提交的表单 <form action="http://bank.example/withdraw" method=POST>
<input type="hidden" name="account" value="xiaoming" />
<input type="hidden" name="amount" value="10000" />
<input type="hidden" name="for" value="hacker" />
</form>
<script> document.forms[0].submit(); </script>
链接类型的CSRF并不常见,比起其他两种用户打开页面就中招的情况,这种需要用户点击链接才会触发 CSRF防护
Set-Cookie: foo=1; Samesite=Strict
Set-Cookie: bar=2; Samesite=Lax
Set-Cookie: baz=3 |
No description provided.
The text was updated successfully, but these errors were encountered: