首页 > 其他分享 >XSS

XSS

时间:2023-01-29 11:25:34浏览次数:42  
标签:xss 浏览器 XSS DOM 文档 页面

原理

前端代码注入,拼接恶意的html,真正执行恶意代码的是js语句

常见业务场景:
重灾区:评论区、留言区、个人信息、订单信息等
针对型:站内信、网页即时通讯、私信、意见反馈
存在风险:搜索框、当前目录、图片属性等

危害:盗取cookie,获取内网ip,获取浏览器保存的明文密码,截取网页屏幕……

检测:一般是让浏览器弹窗
经典弹窗语句:<script>alert(1)</script>
<a href=javascript:alert(1)>test</a>,JavaScript其实是一种伪协议,声明url的主体是任意的JavaScript代码
事件也可以执行js:onmouseover=alert(1)oninput=alert(1)onclick=alert(1)等等

防范:转义字符输出,用白名单验证、HTML实体化……

三种类型

反射型xss

f12寻找输出点
如果弹窗函数被拦截,尝试prompt(1)

同源策略:它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。具体表现为浏览器在执行脚本前,会判断脚本是否与打开的网页是同源的,判断协议、域名、端口是否都相同,相同则表示同源。其中一项不相同就表示跨域访问。会在控制台报一个CORS异常,目的是为了保护本地数据不被JavaScript代码获取回来的数据污染
同源策略保护了a.com域名下的资源不被来自其他网页的脚本读取或篡改
同源:同 域名/host,端口,协议

存储型xss

嵌入到web页面的恶意html代码会被存储到应用服务器端,存入数据库,等用户再打开页面时,会继续执行恶意代码,能够持续攻击用户
xss平台获取cookie【安全起见,建议自己搭建一个,因为后台可以看到所有用户的Cookie】:https://xs.sb/xss.php?do=login(隐私模式访问)其他平台:XSSPT,XSS8.CC,load.com

存储型xss可能出现在:能插入数据库的地方,比如留言板,用户注册,上传文件的文件名

获取到别人的Cookie,可以使用Burp抓包直接修改抓包数据,也可以使用浏览器修改Cookie(建议火狐浏览器),登录别人的账户

DOM型xss

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

DOM型XSS其实是一种特殊类型的XSS,它是基于DOM文档对象模型的一种漏洞。在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。
也就是说,客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。

可能触发DOM型xss的属性:

  • document.referer属性
  • window.name属性
  • location属性
  • innerHTML属性
  • documen.write属性

DOM型防御

  • 避免客户端文档重写、重定向或其他敏感操作,同时避免使用客户端数据,这些操作尽量在服务器端使用动态页面来实现;
  • 分析和强化客户端JS代码,特别是受到用户影响的DOM对象,注意能直接修改DOM和创建HTML文件的相关函数或方法,并在输出变量到页面时先进行编码转义,如输出到HTML则进行HTML编码、输出到

标签:xss,浏览器,XSS,DOM,文档,页面
From: https://www.cnblogs.com/smile2333/p/17072088.html

相关文章

  • DVWA靶场实战(十一)——XSS(Reflected)
    DVWA靶场实战(十一)十一、XSS(Reflected):1.漏洞原理:XSS被称为跨站脚本攻击(CrossSiteScript),而Reflected被称作反射型XSS。不同于DOM和Stored,Reflected反射型无法存储......
  • XSS攻击是什么
    攻击者可以通过向Web页面里面插入script代码,当用户浏览这个页面时,就会运行被插入的script代码,达到攻击者的目的。XSS的危害一般是泄露用户的登录信息cookie,攻击者可以通过c......
  • NodeJS - XSS-Attribute
    参考:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3-xss-attributef12看看修改color的值,英文句子就会改变颜色,这......
  • NodeJS - XSS-href
    参考:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-href-xss-href/kbid-3-xss-url输入https://www.baidu.com再点击visit,会跳转至百度页面,这里可能......
  • NodeJS - XSS
    首先进入/skf-labs-master/XSS文件夹下,执行命令:$npminstall$npmstart抓包看看内容查看源码app.post("/home",(req,res)=>{letuserInput=req.body.stri......
  • Python - XSS-href
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-href-xss-href/kbid-3-cross-site-scripting-href$sudodockerpullblabla1337/owasp-sk......
  • DVWA靶场实战(十)——XSS(DOM)
     DVWA靶场实战(十) 五、XSS(DOM):1.漏洞原理:XSS全称为CrossSiteScripting,由于和层叠样式表(CascadingStyleSheets,CSS)重名,所以为了区别别叫做XSS。主要基于Java......
  • Python - XSS-Attribute
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-attribute-xss-attribute/kbid-3-cross-site-scripting-attribute靶场环境$sudodockerp......
  • Python XSS
    参考资料:https://owasp-skf.gitbook.io/asvs-write-ups/cross-site-scripting-xss/kbid-3-cross-site-scripting靶场环境搭建$sudodockerpullblabla1337/owasp-skf-l......
  • P27_wxss - 全局样式和局部样式
    全局样式定义在app.wxss中的样式为全局样式,作用于每一个页面。局部样式在页面的.wxss文件中定义的样式为局部样式,只作用于当前页面。注意:当局部样式和全局样......