XSS漏洞-基础

一、前提

1、HTML基础

推荐资料:HTML 教程 | 菜鸟教程

              w3cschool官网 - 1000多本编程教程免费学

2、JS事件,弹框函数

事件推荐资料:HTML DOM 事件对象 | 菜鸟教程 (runoob.com)

弹框函数:

alert():产生一个带确定按钮的对话框,上面显示括号里的信息

confirm():拥有确定和取消的提示框

prompt():可以输入文字的框

3、cookie和session会话概述

推荐资料:cookie和session详解-CSDN博客

4、同源策略:域名相同,端口相同,协议相同

5、会看源代码:使用函数,正则表达式

二、xss漏洞概述

1、定义:跨站脚本攻击。攻击者在web页面插入恶意JS代码,而web程序没有对输入进行过滤或处理。当用户使用浏览器访问时,脚本就会被执行,从而达到恶意攻击的目的。

注:XSS攻击最终目的是在网页中嵌入客户端恶意代码,最常用的攻击代码是JavaScript语言。想要深入了解,需要精通JS。

2、分类:

反射型xss:一次性的,前端执行,不会存储到后端数据库

存储型xss:持久性的,前端执行,存储到后端数据库

DOM型xss:一次性的、前端执行、不会储存在后端数据库、程序执行不依赖于服务器端的数据。属于JS自身的安全漏洞。

3、攻击流程

(1)反射型:

  • 攻击者构造含有恶意代码的URL
  • 用户打开带有恶意代码的URL时,服务端执行这个URL,将数据返回到浏览器。
  • 恶意代码窃取数据并发送到攻击者的网站,执行指定的操作。

(2)存储型:

  • 攻击者将恶意代码提交到目标网站的数据库中。
  • 用户打开目标网站时,服务端执行,将数据返回给浏览器
  • 恶意代码窃取数据并发送到攻击者的网站,执行指定的操作。

三、漏洞挖掘

1、数据交互(输入/输出)的地方容易产生xss漏洞

注:一般常会对网站的输入框、URL参数、COOKIE、POST表单、HTTP头内容进行测试。

2、存储型xss常出现在网站的留言、评论、用户私信、论坛发帖中

注:在真实环境中,最有用的是存储型xss。

3、漏洞测试:实验一些特殊字符的输入。

例:</script>()="hrefonclick'oNclickoonnclickjavascript<scrscriptipt>scRIptalert

         注: 如果能正常输出,说明没做相关过滤。反之,做了过滤则进行相关绕过。

                  如果输出的内容在属性中,那xss代码不会被执行。

注:不断丰富测试方法

4、工具:xxser等

xsser安装

  • 需要将kali更新apt-get update
  • 安装到本地的包
    git clone https://github.com/epsylon/xsser.git
  • 安装依赖
    cd xsser
    python3 setup.py install

(2)xsser使用

  • -h:帮助信息
  • -u:指定URL
  • -g:GET请求使用
  • -p:POST请求使用
  • -cookie:指定cookie

5、工具和手工结合使用

四、漏洞绕过

推荐插件:hackbar

注:仅仅举一个例子,其他差不多。

1、闭合标签,引号绕过

闭合标签:"><script>alert(1)<script>

闭合引号,使用事件:" οnclick=alert(1) "

2、双写绕过,大小写绕过。

仅把字母双写:<scscriptript>alert(1)</sscriptcript>

将括号字母都双写:<sc<script>ript>alert(1)</sc</script>ript>

大写绕过:<scRIpt>alert(1)</ScrRipt>

3、其他标签绕过(img,a等)

超链接标签:<a href=javascript:alert(1) >text</a>

                        <a href=1 οnclick=alert(1)></a>

4、编码绕过:将代码进行十六进制编码,URL编码,base64编码,html实体编码5、

5、引号替换绕过

  • 反引号:<script>alert`1`</script>
  • 斜杠:<script>alert(/1/)</script>

6、空格,回车,换行、tab绕过

7、修改http请求头部字段绕过

如:在user-Agent插入xss代码

8、链接不合法,必须加什么时

9、利用特性绕过:如单引号自动补全

10、等等

五、靶场,防御

1、靶场

xss-lads:下载与安装

prompt:prompt(1) to win - 0x0

2、防御

  • 使用内容安全策略
  • 设置http only
  • 输入输出检测
  • 等等

六、xss数据接收平台

推荐资料(主要是自己懒得写):XSS数据接收平台_bluelotus_xssreceiver-master-CSDN博客

个人认知有限,大家可以提建议或者推荐更好的文章。互相分享,提高自身水平!

  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值