XSS注入——反射性XSS

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

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值