首页
社区
课程
招聘
请求管理删帖。
发表于: 2017-6-19 11:24 4523

请求管理删帖。

2017-6-19 11:24
4523
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
payload保存为二进制,丢ida里面反汇编看一下。
2017-6-19 12:15
0
雪    币: 350
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

好好的call  eax不用,  非要push  ret
另外你ret到栈里了你知道吗,  栈里

另外你知道base64吗, base64

学下基础再学别人飞吧

2017-6-19 12:24
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Diabloking 好好的call  eax不用,  非要push  ret另外你ret到栈里了你知 ...
你的意思是  call  eax  就进不到栈里运行了吗?  call  =  push  +  jmp  ,  最后jmp  不还是到栈里运行吗?
base64  就是  编码为  base  64    ,上面代码有个转换shellcode的    FromBase64String    所以我把它转换成  8  进制  然后尝试运行啊,不对吗? 
2017-6-19 13:46
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5

三楼给的意见很正确.

2017-6-19 16:04
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

你exp里面的payload是经过base64编码的;不经解码,直接运行当然有误。
你需要先将payload base64解码后,再将其相应的16进制数据赋给hexData。

2017-6-19 16:42
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
yercosmic 你exp里面的payload是经过base64编码的;不经解码,直接运行当然有误。你需要先将payload base64解码后,再将其相应的16进制数据赋给hexData。 ...
我试了,还是乱码不能运行,
2017-6-20 11:35
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

抱歉。payload需要先base64解码这个是没错的,但是不能将解码后的内容转十六进制后直接放到hexData数组中。


你需要先理解整个过程:
exp首先加载了Shell.Application对象,然后用该对象的ShellExecute方法调用了powershell,而powershell要执行的命令就是payload的内容。

也就是说,这个payload是在powershell中解释执行的;所以你直接当做机器指令当然不行了。

2017-6-20 14:43
0
雪    币: 1298
活跃值: (662)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9

应该是这样吧,老铁 !

2017-6-20 15:01
0
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
10

先base64解码,然后调用Deflate解压缩,见exploit里面的一下这段代码。

($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$([Convert]::FromBase64String(""""" & chr(34) & payload & chr(34) & """"")))), [IO.Compression.CompressionMode]::Decompress))

2017-6-21 00:10
0
雪    币: 5
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
猪会被杀掉 先base64解码,然后调用Deflate解压缩,见exploit里 ...
  感谢大神,已经解出来了,解压缩很重要。。。
2017-6-22 09:00
0
游客
登录 | 注册 方可回帖
返回
//