jsliang大佬关于网络安全的文章,自己动手写一下
优采云 发布时间: 2021-06-29 03:38jsliang大佬关于网络安全的文章,自己动手写一下
今天看了来自jsliang的文章关于网络安全的话题。为了加深印象,我自己写的。
主要参考文章:
XSS 攻击
XSS(Cross Site Script)跨站脚本攻击是指将恶意代码注入网页并篡改网页。在用户浏览时,获取用户隐私数据是一种攻击手段。一般是 JavaScript。
防御:
CSRF 攻击
CSRF(跨站请求伪造)跨站请求伪造。简单谈谈自己的理解,如有不对的地方还望指正。 CSRF攻击主要利用用户登录网站生成的cookies,即用户的凭据,来操纵用户、进行转账等有利于攻击者的行为。但这不像 XSS 攻击那样窃取 cookie。攻击者不知道 cookie 的内容,他们只是使用它们。示例:网站A 为用户正常浏览的网站,网站B 为攻击者的恶意网站。假设用户已经登录网站A 获取cookie。这时,用户打开网站B。这时网站B运行恶意代码,请求访问网站A或网站A某个api(例如网站A的转账api),通常是在用户不知情的情况下。
防御:
具体实现及原理参考:CSRF攻防
SQL 注入
主要是通过在输入框中输入SQL语句,利用SQL语法识别机制修改数据库中实际运行的SQL语句,达到攻击者的目的
例如:(假设前端不验证用户名和密码)
用户输入的用户名:Kite OR '1 = 1'--
用户输入的密码:123456
要执行的SQL语句:SELECT * FROM user WHERE username='Kite' AND psw='123456'
实际执行的SQL语句:SELECT * FROM user WHERE username='Kite' OR 1 = 1 --' AND psw='xxxx'
"--":是SQL的注释代码。这意味着 1 = 1 之后的代码无效。这样,无论输入的用户名和密码是否正确,都可以登录。因为 1 = 1 肯定是真的。
防御:
流量劫持 DNS劫持
建站的朋友应该知道需要域名解析,否则无法通过购买的域名访问自己的服务器。域名解析就是通过DNS服务器实现域名和服务器IP的映射。比如对应的IP是127.0.0.1。访问的时候,实际上访问的是IP地址127.0.0.1对应的服务器。其实输入127.0.0.1就可以正常访问站点了。之所以需要使用域名访问,是为了方便记忆和SEO
DNS劫持,即通过篡改域名映射的IP,使用户访问的网站成为攻击者准备的恶意网站。
例如: