XSS和CSRF之介绍

一、什么是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识别用户身份后,执行转账操作。

黑客的操作:
伪造攻击代码,打开页面时自动完成转账
在这里插入图片描述

0%