WEB开发的安全之旅(攻击篇)| 青训营笔记

87 阅读2分钟

# WEB开发的安全之旅(攻击篇) | 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第7天

两个角度看WEB安全问题:攻击与防御

攻击篇

1 跨站脚本攻击 Cross-Site Scripting (XSS)

恶意攻击者往Web页面中插入了恶意Script代码,用户浏览该页面时,嵌入Web里面的代码被执行,达到恶意攻击用户的目的。

image.png XSS利用网页对用户提交信息的盲目信任像服务器传输脚本木马攻击。攻击者可以利用漏洞在网站上注入恶意的客户端代码。若受害者运行这些恶意代码,攻击者就可以突破网站的访问限制并冒充受害者。

  • XSS的一些特点:

    通常难以从UI上感知(暗地执行脚本)

    窃取用户信息(cookie/token)

    绘制UI(例如弹窗),诱骗用户点击、填写表单

image.png

image.png

  • XSS分为:存储型XSS(Stored XSS)、反射型XSS(Reflected XSS)、基于DOM的XSS(DOM-based XSS)、基于Mutation的XSS(Mutation-based XSS)

2 跨站伪造请求 Cross-site request forgery (CSRF)

  • 在用户不知情的前提下
  • 利用用户权限(cookie)
  • 构造指定HTTP请求,窃取或修改用户敏感信息

image.png

攻击者通过伪造用户的浏览器的请求,向访问一个用户自己曾经认证访问过的网站发送出去,使目标网站接收并误以为是用户的真实操作而去执行命令。常用于盗取账号、转账、发送虚假消息等。攻击者利用网站对请求的验证漏洞而实现这样的攻击行为,网站能够确认请求来源于用户的浏览器,却不能验证请求是否源于用户的真实意愿下的操作行为。

跨站伪造请求CSRF最常见的是GET请求方式

image.png

除了GET请求,跨站伪造请求CSRF还有其他方式,攻击者可以构造任意形式的请求,只要构造了HTML表单即可。

image.png

3 注入攻击 Injection

  • SQL Injection

image.png 在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行,从而导致数据库遭到破坏(被脱库、被删除、甚至整个服务器权限陷)。

  • Injection 不局限于SQL

image.png

个人体会与总结

通过本节的学习,我认识到了WEB开发过程中各种可能遇到的攻击形式,要持续学习WEB安全知识,要对安全重视!