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

mikuku5个月前叽里咕噜小代码244

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注入


未完待续~~~·

















相关文章

基本渗透命令

基本渗透命令

文件上传下载-解决无图形化-解决数据传输Windows文件下载命令pwershell:powershell.exe -Command "Invoke-WebRequest...

安全开发-web应用-PHP-文件访问和操作

安全开发-web应用-PHP-文件访问和操作

前面我们学习了php普通的留言板功能和登录的操作,还学习了三种身份验证的小知识相信经过自己的敲敲,已经对这部分的相应漏洞已经有所了解了,哪些地方有漏洞,哪些地方可以注入,学习开发就是了解这些最基本的原...

安全开发-web应用-PHP-模版-RCE安全

安全开发-web应用-PHP-模版-RCE安全

叽里咕噜不多说,直接开干,这个新闻列表呢其实和前面留言板功能差不多,首先我们肯定是要用数据库来存储新闻数据,然后通过调用来让他显示在浏览器中,或者是给他添加id,让用户自己选择看哪个新闻,但是由此而来...

WEB攻防-SQLMAP梭哈(不是)

WEB攻防-SQLMAP梭哈(不是)

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

WEB攻防-PHP-SQL注入扩展篇

WEB攻防-PHP-SQL注入扩展篇

上一期我们详细(真的详细吗)的过一一遍sql注入里面的基础应用,普通的拼接注入,然后就是sqlmap的使用,还有基于有无回显的盲注,相信你们现在对sql注入已经有了一个清晰的认识,可以简单的进行注入了...

WEB攻防-PHP-文件上传(存储安全)

WEB攻防-PHP-文件上传(存储安全)

前面我们已经了解了文件上传的一些相关的漏洞利用,这一期我们就来说说关于文件上传的存储的安全,这部分也是跟这个漏洞利用息息相关的,因为现在存储的方式越来越 高端了,首先基础的就是站库分离,然后还有现在用...

发表评论    

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