一、什么是XSS

xss漏洞允许攻击者将恶意脚本注入到网页中,当其他用户访问包含这些脚本的页面时,这些脚本将在用户的浏览器中执行

二、XSS注入本质

XSS注入攻击的本质,是把用户输入的数据当做js代码执行。

三、XSS注入的关键条件

  • 用户能控制输入
  • 原本的程序要执行的代码,拼接了用户输入的数据
  • XSS是通过拼接合适的HTML代码去执行恶意的js语句

四、XSS类型

  • 反射型XSS(一次性的)
  • 存储型XSS(没有被删除就一直存在)
  • DOM型XSS:DOM型XSS漏洞是一种特殊类型的XSS,是基于文档对象模型 Document Object Model (DOM)的一种漏洞。

反射型:靶场练习

输入

1
<script> alert(1) </script>

image-20240121211819148

尖括号被编码

改用事件法

输入

1
' onfocus=alert(1) //

image-20240121211906970

存储性:靶场练习

在所有可以进行输入的地方都插入弹窗语句,均未弹窗成功

观察到页面使用的是

1
FineCMS公益软件 v5.3.0 框架

网上发现相关漏洞信息

image-20240121220520183

当访问的模块不存在时,会将这个路径直接打印出来

image-20240121220641184

成功弹窗

image-20240121220723221

XSS平台http://xss.fqgg.net/

生成恶意XSS代码进行插入

image-20240121221552838

打到cookie

image-20240121221612523

zKaQ-01sdfDCo0

DOM型:靶场练习

一、什么是DOM?

DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。

二、什么是DOM型XSS

DOM型XSS其实是一种特殊类型的XSS,它是基于DOM文档对象模型的一种漏洞。

三、可能触发DOM型XSS的属性

1
2
3
4
5
document.referer属性
window.name属性
location属性
innerHTML属性
documen.write属性

四、document对象属性

1
2
3
4
5
6
Body 获取文档信息
Title 通过 title 属性可以访问当前文档的标题,也可以修改当前文档的标题。
URL 该属性返回当前页面完整的 URL,也就是浏览器地址栏中的全部地址信息。
Domain 该属性返回当前文档的服务器域名.
Referrer 该属性包含着链接到当前文档的源页面的 URL。
Cookie 这个属性可以访问和设置与当前文档相关的所有 cookie。

document.write 他可以支持特殊编码Native

练习

尝试对聊天框进行弹窗,弹窗失败

image-20240122201641636

聊天框上方会显示当前所在位置,观察源码中存在document.write方法

image-20240122201828635

随意构造的参数也会显示出来

image-20240122201913136

构造

1
asd=<script>alert(1)</script>

被拦截

image-20240122202004372

Native编码绕过

image-20240122202225228

成功弹窗

到XSS复制恶意代码,编码后写入

image-20240122202509812

打到的只有自己的cookie

image-20240122203049158

有留言工具复制网址发过去

image-20240122203213425

打到flag=

CSRF

一、什么是CSRF?

CSRF 是指跨站的请求伪造,这种攻击方法会强迫使用者在他们已经验证身份的网站中,执行某些恶意的伪造操作。

其实说白了

csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个都网站,会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号等) js(可以发送数据包) ajax

image-20240122224130978

靶场练习

靶场题目是用织梦CMS搭建的网站

image-20240122225615020

网上下载相同版本的织梦CMS框架源码,在本地搭建进行测试

登录网站后台,有新建文件功能。新建一个文件,并用bp抓包

image-20240122230016203

将数据包发送到repeater模块进行重复放包,发现存在一个数据包可以多次使用的情况,极有可能存在CSRF漏洞。

image-20240122230125154

重新抓一个写入一句话木马文件的操作,用bp抓包制作CSRF脚本。

image-20240122232136400

加上自动提交的js脚本

image-20240122232606352

成功保存

image-20240122232630238

对脚本进行些许修改,上传文件

image-20240122233045993

提交细心诱骗客服点连接

image-20240122233222523

成功写入一句话木马

image-20240122233924312

蚁剑连接

image-20240122234050692