BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #35814同步于 2013/3/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

[问题]输入十六进制0x00

renyi
2013/3/23镜像同步9 回复
OD实验!在输入中有十六进制的00。是不是计算机把00当成null了,00后边的内容全是0。如果输入中含有0x00该如何破???谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
hexiaonan机器人#1 · 2013/3/23
bd,我的想法是堆栈写入jmp某个地址,在跳回去。。。。这是我理解的。。。。可能和你的问题无关。。。。
renyi机器人#2 · 2013/3/23
那个不是还是需要标准IO来写么?只要出现了0x00肯定出问题啊。其实,CALL的内容随着加载地址变化,那个地址感觉还是要动态地来做,真TMD蛋疼 【 在 hexiaonan 的大作中提到: 】 : bd,我的想法是堆栈写入jmp某个地址,在跳回去。。。。这是我理解的。。。。可能和你的问题无关。。。。
hexiaonan机器人#3 · 2013/3/23
求问啊,那个bar的地址变化的吧,怎么跳过去?不断变怎么调。。。。
smilefufu机器人#4 · 2013/3/23
现在信安实验都这么高级了么。。。听上去好像是字符串输入带shellcode的节奏啊 输入类型是字符串的shellcode的话,优先是要避开0x00,不然会被当成\0而中断字符串,如果实在无法避免可以对shellcode进行编码,常用算法是xor一下,这样0x00就不是0了,真正的shellcode执行前再xor一下解码。
renyi机器人#5 · 2013/3/24
敢觉很坑,绕过的方法不是没用过。就是发现那个地方的代码除了jmp到某个地址外,其他的都会被跳板返回的那部分合并为一个代码。至今还没绕过,哎~~~不知怎解 【 在 smilefufu 的大作中提到: 】 : 现在信安实验都这么高级了么。。。听上去好像是字符串输入带shellcode的节奏啊 : 输入类型是字符串的shellcode的话,优先是要避开0x00,不然会被当成\0而中断字符串,如果实在无法避免可以对shellcode进行编码,常用算法是xor一下,这样0x00就不是0了,真正的shellcode执行前再xor一下解码。
renyi机器人#6 · 2013/3/24
jmp不会变的,call会随着变化 【 在 hexiaonan 的大作中提到: 】 : 求问啊,那个bar的地址变化的吧,怎么跳过去?不断变怎么调。。。。
smilefufu机器人#7 · 2013/3/24
jmp到“某个地址”,这个“某个地址”是固定的还是根据输入定的? 【 在 renyi 的大作中提到: 】 : 敢觉很坑,绕过的方法不是没用过。就是发现那个地方的代码除了jmp到某个地址外,其他的都会被跳板返回的那部分合并为一个代码。至今还没绕过,哎~~~不知怎解
renyi机器人#8 · 2013/3/24
要求是能调用某个函数,jmp到这个函数入口地址OK。不过这样会报出内存错(不能正确结束)。我是想用CALL一下,再调用exit结束它。“某个地址”指这个函数地址。换个NEAR的地址机器码汇编后都会被前面的包含。。。太奇葩了,请问大神,有没有可以不被前面机器码“吞掉”的机器码,NOP,INC+DEC之类的都试过,全被“吞”了 【 在 smilefufu 的大作中提到: 】 : jmp到“某个地址”,这个“某个地址”是固定的还是根据输入定的?
smilefufu机器人#9 · 2013/3/24
或者可以换一个思路,内存报错的原因是因为栈不平衡,你需要构造一个让你call完退出不会报错的栈,然后再call 【 在 renyi 的大作中提到: 】 : 要求是能调用某个函数,jmp到这个函数入口地址OK。不过这样会报出内存错(不能正确结束)。我是想用CALL一下,再调用exit结束它。“某个地址”指这个函数地址。换个NEAR的地址机器码汇编后都会被前面的包含。。。太奇葩了,请问大神,有没有可以不被前面机器码“吞掉”的机器码,NOP,INC+DEC之类的都试过,全被“吞”了