1.CTFer成长日记16:用动态生成的源码代码绕过程序的静态安全检查——shellcode敏感字节检测绕过
2.记事本详细释义
CTFer成长日记16:用动态生成的代码绕过程序的静态安全检查——shellcode敏感字节检测绕过
敏感字节检查绕过的基本原理,关键在于利用程序执行的日记动态特性。在执行时,源码若目标程序能允许某段内存被读写执行,日记我们就能尝试将shellcode注入,源码借此劫持程序执行流至shellcode首地址,日记文档库 源码实现ret2shellcode攻击。源码
然而,日记目标程序往往会对输入进行检查,源码发现敏感字节序列,日记如syscall、源码int等指令对应的日记机器码时,会拒绝输入,源码导致攻击失败。日记解决之道在于,源码编写一段可动态生成shellcode的代码。此代码本身不是shellcode,但能在执行中自动生成shellcode并执行,以此绕过敏感字节检查。
理解ret2shellcode攻击过程后,我们能设想编写代码动态生成shellcode。网页会员系统源码具体方法是删除或替换敏感字节,并在执行时恢复。通过对比原始与修改后的shellcode,我们发现,关键在于修改自身shellcode的代码。
为了生成直接可用的shellcode,需修改原始shellcode,确保满足特定条件,即敏感字节序列指令在执行前恢复。将用于修改自身的安卓源码定制shellcode片段置于shellcode头部,确保敏感字节指令被执行前恢复,实现绕过。
接下来,通过实例题验证上述方法的有效性。自定义源代码,使用特定命令编译,关闭程序的防御机制。通过内存布局,利用shellcode长度与main函数返回地址之间的偏移,实现攻击。直播平台源码php
针对原始shellcode中的敏感字节,利用pwntools提供的shellcraft.sh()函数修改,首先删去syscall指令,接着在汇编代码头部添加修改自身shellcode的代码,尾部补全syscall指令对应的机器码。通过异或操作,将敏感字节序列转换为可接受的序列。
最后,解决的问题是获取shellcode尾部地址。通过输出shellcode首地址的远程屏幕监控源码程序,结合生成等效shellcode,利用脚本获取机器码长度,最终编写攻击脚本完成整个过程。
记事本详细释义
英文名称为WORDPAD或NOTEPAD,通常指代Windows操作系统自带的简单文本编辑器notepad.exe。在Windows 9x和Windows XP时期,它们是两个独立版本,不兼容替换。 记事本主要处理纯文本文件,尽管功能基础,但它因兼容多种源代码格式而广泛使用,作为源代码编辑器。记事本的优点在于其轻量级特性,启动速度快、内存占用低,操作简便。 尽管功能相对简单,记事本拥有Word所不具备的优势,如打开速度极快和文件体积小。对于小于KB的纯文本文件,记事本的保存更为合适。此外,记事本还能保存无格式文件,支持如HTML、Java、ASP等格式,成为编程语言的编辑工具。许多编程教材建议学生在记事本开始学习编程。 使用记事本的巧妙方法是,于文件首行输入".LOG"后回车,空一行,这样每次编辑结束时,时间会自动显示,可用作简易的数码日记本。另外,记事本的滚动条设置也很灵活,可以选择只在右侧显示,只需在格式菜单下勾选自动换行即可。扩展资料
记事本,用来记录各类事情的小册子。在windows操作系统中是一个简单的文本编辑器。自从年发布的Windows 1.0开始,所有的Microsoft Windows版本都内置这个软件。另外还有名为《记事本》的**、歌曲。