xss跳转代码_XSS(跨站脚本攻击)

XSS攻击流程

   1、攻击者将恶意代码注入到服务器中

2、用户在没有防备的情况下访问服务器

3、服务器将含有恶意代码的网页响应给客户端

4、在客户端浏览器中触发恶意的JS代码


XSS危害

1、盗取各种用户账号

2、窃取用户Cookie资料,冒充用户身份进入网站

3、劫持用户会话,执行任意操作

4、刷流量,执行弹窗广告

5、传播病毒


XSS漏洞的验证

POC  漏洞的验证与检测

EXP  漏洞的完整利用工具

shellcode 利用漏洞时,执行的代码

payload 攻击载荷(在sqlmap里是攻击代码的模块,在msf里与shellcode类似,功能是建立与目标的连接


验证XSS漏洞存在的PoC

            #常用         #弹出一个确认框          #弹出一个输入框

XSS的分类

一、反射型XSS与beef的使用

1、反射型 XSS 的 JS 代码在web参数(变量)中,如搜索框的反射型XSS,输入其他的字符不触发弹窗,当输入alert时才触发弹窗。

 Opening Web UI (http://127.0.0.1:3000/ui/panel)     #beef的web地址,用户名和密码都是beef以下链接是基于反射型XSS构造beef勾子的语句,beef的监听端口默认是3000把alert弹窗的语句改为beef攻击的语句,当有人执行这条语句时,就会被beef监听。http://192.168.1.132/DVWA/vulnerabilities/xss_r/?name=

当用户执行以上语句时,我们的beef成功勾了其主机,并且通过下图还能发现靶机的一些基本信息。

12bd5e76295d45390187587f1e813222.png

我们可以利用beef的alert弹窗警告模块,填入我们要展示的东西,就可以在靶机的浏览器进行展示,不仅仅有alert功能,还有其他的一些更加强大的功能。

5164b8d51a952414c2ed52a69e8166a4.png

cf1f5f20098ed7d9e3854a6f067c8850.png

下面我们将运用beef的屏幕截取功能,对靶机的当前屏幕进行截取,如下图所示

97dced93b109c05b6440d1121beed327.png

当然我们也可以对靶机的浏览器进行重定向,操作如图所示,靶机浏览器页面成功跳转到百度,不仅仅有这些还有其他更加强大的功能。

6d3180c169981f90ef4127e3389e6cd4.png

二、储存型XSS

1、储存型XSS是持久性跨站脚本,持久的意思是写进数据库或者文件中可以永久保存。如留言板

ag:

在后端代码过滤引号反斜杠的情况下,可以用charcode对引号的内容进行转换,xss2——>120,115,115,50,

 

储存型xss在用beef进行勾取时的原理,当有用户或者管理员访问这个网页时,就会被beef所勾取。

 http://192.168.1.132/DVWA/vulnerabilities/xss_s/

当我们用beef成功勾取时,可以通过Deta

三、DOM型XSS

1、DOM型XSS是通过修改浏览器页面的DOM树而执行的。

ag:

 【#message=alert(/xss/)】#取得message等号后面的语句,【#】号后面是锚点,锚点的内容不会提交到服务器,只在浏览器执行

XSS构造

1、利用【<>】构造HTML和标签

     alert(/xss/)       #没有对script进行过滤    alert("XSS")      #对script进行了过滤,但是没有对大小写进行严格的过滤

2、伪协议

 touch me!       #提交参数,点击超链接,触发xss                     #使用img标签的伪协议

3、通过事件触发XSS

       #这个标签引入一个图片,当鼠标悬停于图片时,会触发XSS代码            #构造一个单行的文本输入框,当点击键盘任意一个按键时触发XSS              #当按住键盘不松时不会触发XSS,当松开键盘时才触发            #构造一个按钮,当我们点击按钮时触发XSS

xss-lab通关

level1

链接:http://192.168.1.132/xss/level1.php?name=test

尝试把test改为test1,查看页面变换,页面正常输出test1(由此也可以判断其可能存在的是一个反射型的xss),如果要进行xss攻击,要用到 JS ,所以对 JS 常用的符号进行测试。

链接:

 http://192.168.1.132/xss/level1.php?name=

发现">也能正常回显,证明后端代码没有对这些特殊字符进行过滤,这时候可以用<>进行 JS 构造弹窗

很明显我们可以构造以下的 JS 对目标进行xss

http://192.168.1.132/xss/level1.php?name=


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值