WEB攻防-XSS跨站注入(一)

mikuku3周前叽里咕噜小代码30

XSS跨站漏洞,这个漏洞的原理就是通过可控制的某些函数,植入payload然后用户通过访问到这个被攻击的地方触发了漏洞,然后就执行了一次攻击,听起来好像就没啥,这个漏洞确实也没啥,因为他大部分都是在前端触发的,并不是主动漏洞,但是还是有点危害的哈,还是可以有很多攻击方式的,这就来看看


首先就是最基础的反射型

<?php 
    $cece=$_GET['cece'] ?? '';
//反射型XSS
    echo "<h2>反射型XSS</h2>" . "<br>";
    echo $cece . "<hr>";


?>

image.png

当你在参数里输入一个值,他能直接返回到前端页面上直接执行,这就是反射型,所以说这里如果是一个js代码的话,那不也就直接执行了吗

image.png

image.png

可以看到他就直接执行了,查看源代码就是这个样子,我们还可以利用这个远程访问一下网站

image.png

直接也是小伙立正了,这种攻击是非持续性的,不使用的话就不会触发,这个攻击是我们构造的,必须要有一个受害人哈

但是还有一个持续性的也就是存储型的XSS,比如果留言板,当你写入一个攻击语句被网站保存了,那么只要没被删除他就会每次访问都会被触发


image.png

image.png

可以看到我在url中没有任何提交,但是他还是触发了,这就是存储型的XSS,也就是持续性攻击,只要存在就会一直触发。而这个存储型漏洞就危险一点,至于反射型的还是太鸡肋了


看起来这个XSS好像很鸡肋哈,不过还是要学滴,基本上这个漏洞会出现在那些交互性比较强的网站里,这种xss漏洞的话就会影响到他的正常业务,所以说有的src平台还是会收这个漏洞的哈,而且不止网站,很多app也会有这个漏洞哈,只需要发送然后坐等收鱼哈


然后还有一个就是dom型的xss,这个前面我们在js开发里也说过,通过构造语句修改前端的代码,然后就会触发这个漏洞

<a href=''>'><img src=''onerror='alert(1)'/>'>what do you see?</a>

image.png

首先正常的访问是这样的,然后通过上面的payload首先闭合前面的这个语句然后用报错来触发js代码

image.png

可以看到代码就被执行了,并且在源代码中可以看到触发代码后被修改之后的样子,他和前面最大的区别是他获取的是页面标签里的值,而不是我们手动输入的paylod,我们前面这个js代码只是修改了这个id为dom的标签值,把值写到这个标签里触发的,这样听着可能有点绕,反正会用就行,不用太过于理解,具体去看dom原理


而这个xss注入是要根据对应的代码来执行的,比如说前面的反射型,首先是直接输出了这个js语句,要是他换一种方式来执行呢

echo "<img src= '$cece'>";

比如说现在我要让他显示图片

image.png

如果这时候你还直接输入一个js语句,会怎么样呢

image.png

你会发现你所有的输入都变成一个字符串了,不知道啊,我还以为是图片路径呢,你跟浏览器说去吧(不是)

所以说,这个时候我们是需要闭合掉这个前面的标签,然后通过图片报错来进行xss注入

image.png

通过引号闭合掉前面的标签后由于图片没有正常显示,然后就通过oneroor参数触发报错,然后就触发了xss漏洞


这里我们来看看别的某网站案例哈

Http User-Agent Checker - 打开管理工具

这是一个查看你ua信息的一个网站

image.png

然后上面有一个ua头编辑,这个就很好理解了,有输入,有输出,典型的反射型xss漏洞哈,所以说直接注入看看

image.png

然后就成功了,所以说,反射型的xss是很简单就可以利用,但是也是非常鸡肋的漏洞,基本上就算有,也懒的修复了,如果不能执行,那么就直接检查看是否被包含或者过滤了,没啥好说的


而存储型由于没找到什么好例子,所以说还是直接理解我上面做的实验吧,反正意思就这样,把语句存进网站,然后每次访问都会触发


然后看一下dom型注入

image.png

这里有一个跳转的网站,然后通过右边返回的源代码可以看到他是接受url值的,要是这时候我们注入一个攻击语句会发生什么呢

image.png

你会发现他直接执行了,但是说实话也没啥作用,虽然说可以用这种去钓鱼一下偷偷盗取一下cookie啥的,虽然好像也没演示一个啥,dom类型还是要具体了解一下dom树的原理才好理解这个漏洞,那么这期到这里也差不多了,基础的xss已经知道原理了哈,知道他的原理和触发条件了哈


(感觉这期有点水哈)


最后再总结一下这个xss容易出现的地方

首先就是交互:

    比如说网站的评论区,文本编辑区,标签啊之类的,差不多有个输入框你都可以试试

然后就是输出的地方了

    这种东西就太多了,通过你上面交互提交的信息,评论区,或者什么留言板,只要能显示你输入的地方,都有可能会产生这个xss注入


未完待续~~~·

















相关文章

WEB攻防-PHP-文件上传(扩展篇-遗漏)

WEB攻防-PHP-文件上传(扩展篇-遗漏)

上期说完了原生态的文件上传漏洞,这期继续讲关于第三方中间件,编辑器,CMS的漏洞,虽然说基本没啥用哈,没准打CTF的时候用的上吧(自我安慰),这期并没有什么新知识点,更多的是对这个思路的扩展,因为关于...

web信息打点-完成了-但是没完成

web信息打点-完成了-但是没完成

这个专题只是简单的信息搜集,具体的漏洞利用到后面再讲js系列在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有...

安全开发-web应用-JS-dom_xss-断点调试

安全开发-web应用-JS-dom_xss-断点调试

上期我们简单的学习了关于js的文件上传和登录验证,相信大家对那部分的漏洞已经有所了解了,这期我们来看看关于js的外的一些知识DOM树操作以及安全隐患加密编码和数据安全测试这两个因为关系不大,就新开一期...

APP信息打点-如完

APP信息打点-如完

APP资产对于app的信息搜集,我们首先肯定是通过目标来判断的,看对方给你一个什么东西,比如一个网址,或者直接是apk文件这种,首先就是对于这个有个判断,他跟web不太一样的就是需要判断对应资产是否是...

WEB攻防-PHP-文件包含

WEB攻防-PHP-文件包含

前面我们学习开发的时候,已经知道了文件包含是干啥的,通过把一些可重复使用的函数写在单独的文件中,通过include来引用文件,就无需再次编写了,这种调用文件的过程就叫做文件包含,但是如果调用文件的这个...

WEB攻防-SQLMAP梭哈(不是)

WEB攻防-SQLMAP梭哈(不是)

提到sql注入,除了手工,那怎么能离得开超好用的sqlmap呢,这一期专门来说说这个工具的使用,虽然我们前面也用了几下,但是也都是最基础的使用了,这次就来点不一样的。首先关于sqlmap是个啥这里就不...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。