2017/4/20
来源:互联网 发布:家庭影院网络播放器 编辑:程序博客网 时间:2024/05/21 06:47
Python code object的逆向:
生成codeobject的方法是可以通过compile生成:
code_str = """def hello():\n print"hello,world\\n"\nimport hashlib\nhashlib.sha1()\nhello()"""code_obj = compile(code_str, '<string>', 'exec')dis.dis(code_obj)exec(code_obj)
Python的code object的逆向通过执行dis.dis()来实现,得到的是可以基本读懂的类似于汇编的代码。Codeobject反汇编的内容会出现load code object的字段应该是说明原函数里应该是有自定义的函数。如何查看自定义的函数内容还没有头绪。
另外所做的题目中使用的是marshal.loads()函数,参数是一个乱码的字符串,生成了一个codeobject,至于,marshal模块,先存疑。日后解答。
有关于缓冲区溢出漏洞的,如果利用到了cookie检测技术的防止栈溢出的话,我们可以采用溢出异常函数处理的方式进行,但是异常处理函数的话会有SEH保护,但是SEH保护的特点是,如果异常处理函数的地址和储存的的地址不匹配的话不是绝对不执行,如果这个地址指向的是本程序加载模块以外的内容的话还是可以执行的。这时候,有一位大神发现了在windows2003下svchost.exe总是会将UNICODE.lns加载到0x001a0000处,而在偏移0x10b0b处是一条call dword ptr [EBP+30]指令,而EBP会在shellcode的附近,我么可以把异常处理函数地址覆盖成0x001b0b0b,然后就能够通过覆盖cookie触发异常,通过绕过异常处理函数检查跳转到我们的shellcode最终得到执行。不得不感叹,真是防不胜防。
0 0
- 2017-4-20
- 2017/4/20
- python学习笔记:2017/4/20-----1
- 今天是2017年4月20日
- 2017年4月20日工作日记
- 2017年4月20日 工作日记
- 科锐课堂笔记:2017/4/20 抽象类
- 2017-12-20作业4 for循环和数组
- opengl、ffmpeg内存泄露及混编问题(2017-4-20)
- 2017“互联网+”数字经济峰会将于4月20日在杭州举行
- CVPR 2017-01-20
- 2017/01/20
- 2017/1/20/E
- 2017-02-20
- CV 2017-02-20
- 2017/04/20
- 2017-6-20
- 2017/6/20
- Week7——图书管理系统
- 只需两步,Gradle中配置Gretty插件
- (5)caffe总结之激活层(Activiation Layers)及参数
- AS上jni相关配置
- LightOJ
- 2017/4/20
- 基础算法笔试题:小孩数数问题(数三退一)
- 基于DCT变换的信息隐藏(数字水印)嵌入算法的设计(Matlab)
- 《连载 | 物联网框架ServerSuperIO教程》- 17.集成Golden实时数据库,高并发保存测点数据。附:3.4 发布与版本更新说明。
- matlab 连通区域 显示 边缘检测显示到原图
- Cookie,Session
- 布林带(BOLL)技术指标
- 微信小程序url参数传递
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询