首页 > 编程知识 正文

aect94定义和05定义的区别,OBE导向三大理念

时间:2023-05-03 08:47:18 阅读:41218 作者:511

最近经常看到XXE出没,以为是最近出现的类型,在接下来的14年里,发现乌云上面有很多案例,真的我太lo了~

@时间: 2018/11/15

因为jarvisoj上有xxe练习题,感兴趣的大佬可以在https://www.Jarvis OJ.com/challenges上玩一下

在写作业之前,试着科普一下吧。 什么是xxe? xe是xml外部实体注入,其中包含xml说明

XML用于使电子文件具有结构性标记语言,用于标记数据、定义数据类型,是允许用户定义自己的标记语言的源语言。 XML文档结构包括XML声明、DTD文档类型定义、选项和文档元素

关于xml和xxe的知识在https://www.cn blogs.com/r 00t user/p/7255939.html中是众所周知的

我们的xxe注入的是xml的DTD (文档类型定义),xml格式如下

? XML版本=' 1.0 '? 文档类型任务[! entitysearchsystem '/etc/passwd ' ] task search; /task jarvisoj的例题,试着更好地说明一下吧:

进入的页面是这个

源代码包含以下代码

脚本函数xhr () { var xhr; try {xhr=new XMLHttpRequest (; }catch(e ) { var IEXHRVers=['Msxml3.XMLHTTP '、' Msxml2.XMLHTTP '、' Microsoft.XMLHTTP']; for(varI=0,len=IEXHRVers.length; i len; I ) try(xhr=newactivexobject ) iexhrvers[I]; }catch(e ) {continue; } } } return xhr; } functionsend ((evil _ input=document.getelementbyid (evil-input ).value; var xhr=XHR (; XHR.open('post ','/api/v1.0/try ',true ); xhr.onreadystatechange=function () if ) xhr.ready state==4x HR.status==201 ) data=JSON.parse ) xhr.resp at us tip _ area.value=data.task.search data.task.value; }; xhr.setrequestheader (' content-type ',' application/json ' ); xhr.send ((搜索(: ) ) evil_input )、(value ) : ) own ) ); (}/script看了xml的文字,推测可能有xxe (),没有也不会放在这里哦:) )

请抓住包试试。 正在提交json数据,但可以将其更改为xml

第一步,也是最重要的一步是将content-type更改为xml

之后,我们可以发布上面写的xml,得到flag

其中的! DOCTYPE是定义实体,search是引用实体,还可以获取/etc/passwd:)

结束: )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。