上回建站的时候没记录,这回记录一下安装过程 文档 | Hexo 安装hexo先根据官方文档里安装git和nodejs,如然后 1npm install -g hexo-cli 然后找个放博客的文件夹 1234567hexo init blogcd blognpm install#此时会卡死,看到目录里有pnpm-lock.yaml,估计是因为我有pnpm,所以直接用pnpm初始化了,执行下边的可以解决npm cache clean --forcerm -rf node_modules package-lock.jsonnpm install 现在其实就装好了,在blog目录里hexo se
Agent型内存马其实就不局限于tomcat了,它是给运行中的JVM加载了一个agentmain-Agent,这个agentmain-Agent用javassist生成了木马的字节码,然后用Instrumentation把字节码加到类的方法里实现的攻击。理论上其他java程序也能用这种方法注入内存马。 Agent有两种,premain-Agent是在 JVM 启动前加载的,agentmain-Agent是JVM 启动之后加载的。 几种 Java Agent 实例premain-Agent这部分和内存马无关,可以直接看agentmain-Agent,但是很多程序的破解版是用这种方法实现的,可以了
valve型内存马非常直接,就是写个valve然后加到pipeline里。 在了解 Valve 之前,我们先来简单了解一下 Tomcat 中的管道机制。 我们知道,当 Tomcat 接收到客户端请求时,首先会使用 Connector 进行解析,然后发送到 Container 进行处理。那么我们的消息又是怎么在四类子容器中层层传递,最终送到 Servlet 进行处理的呢?这里涉及到的机制就是 Tomcat 管道机制。 管道机制主要涉及到两个名词,Pipeline(管道)和 Valve(阀门)。如果我们把请求比作管道(Pipeline)中流动的水,那么阀门(Valve)就可以用来在管道中实现各种
其实写完listener型内存马之后就去看servlet内存马了。但是太复杂,没看懂,护网一开就搁置了。 servlet是什么servlet就是实际处理业务的代码。像什么登录注册增删改查都是在servlet里写,然后web.xml里绑定一个url。 当然实际业务里都不写web.xml了。看眼自动生成的HelloServlet就知道,都是直接用注解: 12345678910111213141516171819202122232425262728package org.example.demo3;import java.io.*;import jakarta.servlet.http.*;impo
ez要证书,证书以前免费,现在要积分申请了。积分还不能充值,只有签到和交poc能获得积分。poc交一个才10-20,一个月的证书都要50积分了,所以只能签到。但是天天签到太麻烦了,所以写了个脚本挂着。 去云码注册个账号,加客服扫码白嫖300积分,够用好长时间的了。 然后写个crontab挂服务器上就行了。最好挂俩账号,一个号俩月60积分,换个证书50积分,两个号轮着用。 crontab -e 10 9 * * * cd /checkin;python3 ez_checkin.py>>checkin.log 2>&1 ez_checkin.py: 1234567891
Listener型内存马不像Filter型那么复杂。Listener型内存马只涉及一个变量applicationEventListenersList。 tomcat有一堆listener,其中ServletRequestListener是监听http请求的,最适合做内存马。 准备环境和Filter型内存马一样新建项目,然后写一个正常的listener。 123456789101112131415161718192021package org.example.demo3;import jakarta.servlet.ServletRequestEvent;import jakarta.servl
内存马是什么简单说就是没有文件落地的webshell。 常规的java webshell都是上传一个jsp文件,访问这个jsp文件的路径执行命令。但是这样做查文件很容易查出来,文件一删webshell就没了。 内存马是在内存里的,可以访问到但找不到对应路径的文件,后缀也不一定是jsp。更隐蔽,更难排查。 Filter型内存马内存马有很多种实现方式,filter型内存马是通过filter实现的内存马。 filter是在请求被servlet处理之前执行的一段程序,可以对请求进行拦截、修改。通常用来实现一些业务逻辑之外的功能,比如日志记录、全站加密、权限校验等。 通过修改存储filter的变量,把w
CVE-2020-15906 vulhub/tikiwiki/CVE-2020-15906/README.zh-cn.md at master · vulhub/vulhub · GitHub 比赛遇见个tikiwiki,byd执行不了几条命令就崩,写马还写不进去,各种转义转着转着就崩了,比如这个python poc.py 127.0.0.1:8080 / 'echo "\<?php${IFS}?\>">shell.php',这里空格会截断,转义就崩,用IFS也崩。比赛的时候没给我干红温复现给我干红温
今天遇见一个破站,又是关键词过滤又是html解析器过滤的,完了前端还写的稀烂,输个引号就闭合,输个尖括号后半段html属性都当文本渲染了。怎么看怎么像有xss。 其中有个接口传了个Id,返回了一个html页面。后来一看是打开的新的iframe。这个接口的Id直接拼接到Easy UI的DataGrid组件里的参数里去了。类似下面这种 123456789<table class="easyui-datagrid" style="width:400px;height:250px" data-options="url:'http://x
github国内连不上,git clone用不了,以前都是直接下载zip,但这样更新不好更新。 1git config --global https.proxy http://127.0.0.1:7890 socks5也可以换成http,具体情况看端口开的是什么代理 尽量用http,别用socks5,socks5 DNS不走代理,DNS给域名封了socks5连不上 https.proxy是对所有https协议的链接使用代理,http.proxy是对http协议的链接使用代理,但github一般都是https 查看代理:git config --global --get https.proxy