学习脚本黑客:XSS和CSRF

XSS,英文全称Cross Site Script(跨站式脚本攻击),是一种针对前端的注入;CSRF英文全称是Cross Site Request Forgery(跨站请求伪造),是通过伪装成目标用户完成窃取信息、钱财的黑客操作


XSS漏洞

关于XSS『是什么』的问题,前面讲过了,此处从略

存储型XSS

存储型XSS的脚本被黑客预先写到数据库

1)用户打开浏览器,访问网页

2)浏览器向后端应用程序请求内容

3)查询数据库,将XSS脚本留言返回给Web应用程序

4)最终返回给用户浏览器,触发XSS

学习脚本黑客:XSS和CSRF

学习脚本黑客:XSS和CSRF

反射型XSS

和存储型XSS不同的是,反射型XSS不仅可以在源码中找到,而且还可以在存在XSS漏洞的url链接中找到

1)用户在浏览器中访问存在XSS的url链接

2)浏览器向后端应用程序发起请求,后端程序

3)后端应用程序将url中的XSS脚本写入相应页面返回给浏览器

4)浏览器渲染相应页面,触发XSS

学习脚本黑客:XSS和CSRF

DOM型XSS

和反射型XSS一样,DOM型XSS在URL链接中也可以看到XSS脚本源码

DOM型XSS脚本存在于url的Hash中

学习脚本黑客:XSS和CSRF


CSRF漏洞

CSRF漏洞概念

CSRF漏洞是指利用用户已经登陆的身份,在用户毫不知情的情况下,以用户的名字完成非法操作(利用Cookie)

CSRF漏洞分析

学习脚本黑客:XSS和CSRF

1)通常cookie中存放用户凭证信息

2)浏览器在发送任何请求时,会自动带上已有的cookie

3)利用cookie识别用户身份后,执行转账操作

CSRF代码实例

学习脚本黑客:XSS和CSRF

可以看到,这段CSRF脚本中的嵌入了一一段JS代码用来提交表单,subForm()函数用来自动提交表单,form字段中action是转账地址,input字段中是转账信息

因为form表单提交(转账到黑客账户)会有明显的页面跳转,为了增强隐蔽性,可以在攻击页面的source code中嵌入一个iframe标签,其中放置真正的恶意代码(就是上面这个),并把widthheight属性设置为0,这样用户不会察觉到任何异样(除非查看源代码,就会发现问题)