一、什么是XSS
全称:Cross Site Script
中文名称:跨站脚本
危害:盗取用户信息、钓鱼、制造蠕虫等
概念:
二、xss的分类
1、存储型
访问网站时,触发XSS
我们可以通过查看网页源代码的方式查看xss的触发点。
我们安装irebug(F12快捷件打开),利用该火狐插件来寻找注入点。
分析其攻击过程
但是xss脚本是怎样被黑客写入数据库呢
2、反射型
访问携带xss脚本的连接时触发xss
查看源码,寻找触发点
如何产生的呢(右边为xss源码)
分析攻击过程
存储型xss和反射型xss的区别
存储型xss是从数据库中提取xss的脚本内容
反射型xss是直接从url的内容中提取出xss的脚本的内容
3、DOM型
那什么是DOM呢,就是Document Object Model,即文档对象模型,它允许脚本(js)控制web的页面、窗口和文档。简单说DOM就是就是js操作html时的API(应用程序接口)
访问携带xss脚本的连接时触发xss
查看源码,了解触发点
分析原理
DOM型xss与反射型xss很类似,但是他们有什么区别呢
DOM型xss是通过前端javascript将xss脚本写入DOM中,触发xss
反射型xss是通过后端或应用程序将xss脚本写入响应页面中,浏览器响应页面时才触发xss
存储型xss漏洞演示
xss代码应该为<img src="a" onerror=alert(/hhhh/)>
,
用管理员员登入后台,进入留言板会触发xss,出现弹窗内容为/xxxx/
反射型xss漏洞演示
我们写一个这样的脚本文件,命名为index.php
<?php
header("content-type:text/html;charset=utf-8");
if(isset($_REQUEST["name"]))
{
$name=$_REQUEST["name"];
}
else{
$name = "";
}
echo "hhhhh ".$name;
?>
本地访问下
传入参数?name=<img src="a" onerror=alert(/hhhh/)>
alert()方法用于显示一条指定的消息和一个ok按钮的警告框
用qq浏览器尝试下,xss注入被浏览器拦截了,尴尬了
用火狐浏览器再次尝试,成功注入xss
查看源码即可发现注入位置
DOM型xss漏洞这边就不演示了
4、小结
三、CSRF是什么
全称:Cross-site request forgery
中文名称是:跨站请求伪造
危害:执行恶意操作(”被转账“、“被发垃圾评论”等)、制造蠕虫·······
概念:利用客户已经登录的身份,在用户毫不知情的情况下,以用户的名义完成非法操作
分析原理
那里面恶意的网站是怎么做的呢?
正常情况下:
通常Cookie中会存放用户凭证信息
浏览器在发送任何请求时都会带上已有的cookie
通过cookie识别用户身份后,执行转账操作。
黑客的操作:
伪造攻击代码,打开页面时自动完成转账