掌控安全进阶班 kali/代码审计/网络安全/web安全/测试/信息安全

xiaotu123 · · 939 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

攻防世界easyjni精析 {'i', '5', 'j', 'L', 'W', '7', 'S', '0', 'G', 'X', '6', 'u', 'f', '1', 'c', 'v', '3', 'n', 'y', '4', 'q', '8', 'e', 's', '2', 'Q', '+', 'b', 'd', 'k', 'Y', 'g', 'K', 'O', 'I', 'T', '/', 't', 'A', 'x', 'U', 'r', 'F', 'l', 'V', 'P', 'z', 'h', 'm', 'o', 'w', '9', 'B', 'H', 'C', 'M', 'D', 'p', 'E', 'a', 'J', 'R', 'Z', 'N'} Base64编码详解 既然猜测是base64编码,就不得不提到base64的编码过程。 简而言之,base64编码过程就是把用8bit表示的ASCII“数字”,转成6bit表示的“数字”。 掌控安全进阶班 kali/代码审计/网络安全/web安全/测试/信息安全下栽地止:daxiacode.com 举例来说,假如有字符串abcd转成YWJjZA==。 Base64编码过程 0、待编码字符串按照3个一组分组 1、字符转ascii码值 2、ascii码值转换为8bit二进制表示 3、按照6bit一组重新组合 4、6bit数转10进制 5、查表 Base64 编码图解 (建议读者在纸上手写一遍) 根据替换的base64编码表还原 如果base64编码表被替换,那么在第5步查表的过程,将发现查出来的字符串会不一样, 但无论如何,查表所得的字符串所代表的(0-63)10进制数字是不变的。 假如有个字符串:QAoOQMPFks1BsB7cbM3TQsXg30i9g3== 32位进程的API调用过程 下图展示了通过天堂之门技术调用WIN32 API的过程。这里我们通过一些操作绕过了WoW64机制,手动切换到64位模式并调用64位下的ZwOpenProcess函数,大致流程如下(和图中不太一样): 将cs段寄存器设为0x33,切换到64位模式 从gs:0x60读取64位PEB 从64位PEB中定位64位ntdll基址 遍历ntdll64导出表,读取ZwOpenProcess函数地址 构造64位函数调用 如果需要调用的是ntdll之外的函数,以kernel32.dll中的CreateFile函数为例,还需要: 遍历ntdll64导出表,读取LdrLoadDll函数地址 调用LdrLoadDll("kernel32.dll")加载64位kernel32.dll 从64位的kernel32中读取GetProcAddress等函数,获取CreateFile函数地址 调用CreateFile函数 ![屏幕快照 2023-07-10 下午5.52.12.png](https://static.golangjob.cn/230710/35678118b8c47b40b470ea3b089c8ac3.png)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

939 次点击  
加入收藏 微博
1 回复  |  直到 2023-07-10 20:49:43
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传