手把手教你XSS漏洞常见类型挖掘方法 您所在的位置:网站首页 漏洞挖掘的思路有哪些方法 手把手教你XSS漏洞常见类型挖掘方法

手把手教你XSS漏洞常见类型挖掘方法

2023-10-24 11:21| 来源: 网络整理| 查看: 265

点击"仙网攻城狮”关注我们哦~

不当想研发的渗透人不是好运维

让我们每天进步一点点

简介

本篇文章将讲解XSS三大类中一些细小分类漏洞挖掘方法和漏洞形成原理说明,附源码分析。

将展示以下类型挖掘方法:

反射型XSS(GET) 反射型XSS(POST) 存储型XSS DOM型XSS XSS之盲打 XSS之过滤 XSS之htmlspeclalchars XSS之href输出 XSS之js输出

XSS漏洞可以干什么可以查看以下文章:

黑客是如何获取你账号密码的

中文版Pikachu web靶机平台搭建指南,英语小白的福音

实战

反射型XSS(GET)

简述:反射型XSS可以通过制作特殊的URL来触发

1.页面上有一个查询框如下

2.使用 alert(123)查看是否弹窗,在输入过程中发现前端限制了输入字符数,只能输入20个字符。

3.按键盘上F12打开 开发者模式 查看源码,修改前端限制,下图修改成200字符。

4.再次输入就可以输入了,点击submit后弹窗,说明有XXS漏洞

反射型XSS(POST)

1.登录页面,查看有一个输入框。

2.在输入框中输入 alert(123)发现没有任何过滤,成功弹窗。

存储型XSS

简述:存储型XSS漏洞一但注入成功就会永久保存,进入页面后一直生效,只要没人删除

1.页面中有一个留言板功能,直接插入一个 alert(123)

2.插入后保存在后台数据文件中,只要点击刷新页面就会一直触发XSS漏洞的弹窗

DOM型XSS

简述:文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式

造成DOM型XSS的原因是前端的输入被DOM给获取到了,通过DOM又在前端输出,跟反射型和存储型比起来,它是不经过后台交互的。

1.页面有一个输入框点击发现有一个连接。

2.初步观察,点击 click me! 后会出现 what do you see? 的链接按钮,其指向是 当前目录/you_input 审查元素时发现onclick后会执行函数 domxss() ,其作用是读取input的值并将其拼接到新创建的link节点中,源码如下:

3.我们只需要精心构造payload,闭合前面就行,靶机中已经告诉你怎么闭合了,插入这段:'>,其实这段插入后不是很明显,可以改成这个'>,可以看到插入了一张远程图片

XSS之盲打

简述:XSS盲打不是攻击类型,而是一个攻击场景,前端无法判断是否有XSS漏洞的情况下只能盲注。

1. alert(123)注入,点击提交。

2.进入到后台管理页面查看消息,进入后就直接弹窗触发

(管理员登录后)

XSS之过滤

简介:在前端有一些过滤规则,如何去进行绕过

1.绕过思路

- 前端限制绕过,直接抓包重放,或者修改html前端代码。比如反射型XSS(get)中限制输入20个字符。 - 大小写,比如aLeRT(111)。后台可能用正则表达式匹配,如果正则里面只匹配小写,那就可能被绕过。 - 双写(拼凑),`alert(111)`。后台可能把标签去掉换,但可能只去掉一次。 - 注释干扰,`ript>`。加上注释后可能可以绕过后台过滤机制。

2.使用 alert(123)进行尝试发现无法注入

3.使用双重绕过发现过滤了script

4.使用alert(111)大小写绕过成功弹窗。

XSS之htmlspecialchars

简介:htmlspecialchars()是PHP里面把预定义的字符转换为HTML实体的函数

1.htmlspecialchars()函数作用

预定义的字符是 & 成为 " 成为 ' 成为 ' < 成为 > 成为 可用引号类型 ENT_COMPAT:默认,仅编码双引号 ENT_QUOTES:编码双引号和单引号 ENT_NOQUOTES:不编码任何引号

2.随便输入点啥,审查元素后发现输入的内容是被拼接在中

3.使用">试试,发现被过滤了

4.绕过思路

分析htmlspecialchars的作用发现默认情况下htmlspecialchars(string,flags,character-set,double_encode) 其中flags:默认情况下为只过滤双引号,若设置为ENT_QUOTES则单双引号均被过滤

5.使用‘号进行绕过,使用' οnclick='alert(123)'试试,点击连接成功弹窗。

XSS之href输出

简介:请思考a标签里面的href,img里面的src属性,有什么特殊的么

1.随便输入点啥看看有什么

2.审计元素发现,返回的元素发现所有字符都被转化为HTML实体了,包括单引号。

3.但由于输入的url拼接在 属性中,可以使用javascript语法来造轮子,使用:Javascript:alert(123)试试,点击一下连接成功弹窗

XSS之js输出

1.根据提示输入tmac看看,有张图,作者是多喜欢NBA啊

2.审查元素发现输入被拼接到了脚本中

3.尝试闭合语句然后添加自己的语句上去使用  ';alert(123)//试试,成功弹窗

往期内容

黑客是如何获取你账号密码的

渗透武器库---信息收集工具大全

中文版Pikachu web靶机平台搭建指南,英语小白的福音

渗透利器--最新版kali2020系统安装(超详细)

更多资讯长按二维码 关注我们

   专业的信息安全团队,给你最安全的保障。定期推送黑客知识和网络安全知识文章,让各位了解黑客的世界,学习黑客知识,普及安全知识,提高安全意识。

觉得不错点个“赞”呗      



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有