xss注入的攻击步骤:
1.查找可能存在的注入点(搜索框,留言板,注册)
2.观察输出显示位置:
html:
尖括号外部,
尖括号内部:
引号内部==》闭合,不能闭合(能不能执行js代码)
引号外部:能不能构造新属性<script>标签内部
引号内部=》能闭合=》直接写js代码
引号内部=》不能闭合=》观察可不可以在页面上进行输出
直接在标签中==》直接写js代码
3.判断是否有过滤4.构造payload(结合显示位置)
5.获取具体的信息,比如cookie,钓鱼,键盘
反射型这类攻击方式主要借助URL来实施。URL的构成分为协议、域名、端口、路径、查询几部分构成。如图所示:
XSS往往在“查询”部分发现漏洞构造攻击代码实施攻击,所谓“反射”可以理解为hacker并不会直接攻击客户,而是通过URL植入代码通过服务器获取并植入到用户页面完成攻击。攻击流程图如下:
在现实世界的Web应用程序中存在的XSS漏洞,有近75%的漏洞属于这种简单的XSS bug。由于利用这种漏洞需要设计一个包含嵌入式JavaScript代码的请求,随后这些代码又被反射到任何提出请求的用户,因而它被称作反射型 XSS。攻击有效载荷分别通过一个单独的请求与响应进行传送和执行。为此,有时它也被称为一阶XSS。
了解了这些 我们来做做题 这里选择的是buuctf xss-labs
第一关
打开题目 看图片看不到什么
但是可以看到传了一个参 name=test 并且下边写出 payload的长度:4 联想反射型xss是在url上做文章 再看一看源码
<script> window.alert = function() { confirm("完成的不错!"); window.location.href="level2.php?keyword=test"; } </script>
在这一段是主要代码
是js前端语言 并且提到了alert函数 查了一下:
alert() 函数可以用来简单而明了地将alert()括号内的文本信息显示在对话框中,我们将它称为警示对话框,要显示的信息放置在括号内,该对话框上包含一个“确认”按钮,用户阅读完所显示的信息后,只需单击该按钮就可以关闭对话框。
alert()是js的window对象的一个方法,调用时可以写成window.alert(),也可以写成alert(),功能都是产生一个带确认按钮的对话框,上面显示括号内的信息。
警告框经常用于确保用户可以得到某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行操作。
<script>标签:
<script> 标签用于定义客户端脚本,比如 JavaScript。
<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件。
JavaScript 通常用于图像操作、表单验证以及动态内容更改。
所以就可以利用这个函数来构造payload,也是最简单的xss脚本语言:
<script>alert('1')</script>
这样就可以绕过了 没有任何的限制 就是一个简单的反射型xss注入
等明天搭一个本地的靶场来做xss-labs
我认为不是很难,反射型xss文章来源:https://www.toymoban.com/news/detail-490472.html
文章来源地址https://www.toymoban.com/news/detail-490472.html
到了这里,关于XSS注入——反射性XSS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!