web安全之xss攻击
xss攻击的全称是Cross-Site Scripting (XSS)攻击,是一种注入式攻击。基本的做法是把恶意代码注入到目标网站。由于浏览器在打开目标网站的时候并不知道哪些脚本是恶意的,所以浏览器会无差别执行恶意脚本,从而导致用户信息和一些敏感信息被盗取和泄漏。(主要 获取cookie信息)
xss一般分为两种类型,持久化的xss和非持久化的xss
持久化的xss 保持在数据库中
非持久化的xss 不保存在数据库
web安全之csrf攻击
srf攻击的全称是Cross-Site Request Forgery攻击,简单来说是利用当前用户的登录态冒充该用户去做一些对受害者不利的事情。
假设Alice想通过ban.com网站给bob转100块钱,当然了,bank.com是有安全漏洞的,不能防止csrf攻击。Maria,一个攻击者,想通过一些不正当手段让Alice转账给她,下面是她的一些做法:
- 构造攻击的链接或脚本
- 通过社交网站诱骗Alice去点击伪造链接或执行脚本
简单例子
如果bank.com银行应用是通过GET加传参的方式进行转账,如下所示
GET http://bank.com/transfer.do?acct=BOB&amount=100 HTTP/1.1
那么Maria现在决定让Alice成为受害者,她开始伪造url,让Alice从账户中转10000块钱到自己账户。她通过替换链接中参数的方式来达到这一目的。
http://bank.com/transfer.do?acct=MARIA&amount=100000
现在就到了诱导受害者去点击或执行上面这个链接的时候了,一般来说有下面一些方法
- 自动发送包含html内容的垃圾邮件
- 在Alice浏览银行站点时经常会访问的页面上构造恶意的链接或放置恶意脚本
比如伪装成一个普通链接,鼓励被害者去点击
<a href="http://bank.com/transfer.do?acct=MARIA&amount=100000">看我的照片!</a>
又或者构造一个0x0大小的图片
<img src="http://bank.com/transfer.do?acct=MARIA&amount=100000" width="0" height="0" border="0">
把上面这个图片放到emial中,Alice收到email之后,该链接会自动被访问。
如果Alice在点击上面的链接或打开email时正好登录了bank.com,那么上面的请求也会获得bank.com的登录态,从而发生转账行为。
不点击图片也会被获取登录态, 构造图片0000不设置图片大小,打开网站即可能获取;现在转账需要获取密码