摘要:
没有壳,用ida64打开。 查看sub_55B4BF947860函数 这个算法直接没见过,看大佬的wp知道用z3库写。 1 from z3 import * 2 3 s = Solver() 4 v1 = Int('v1') 5 v2 = Int('v2') 6 v3 = Int('v3') 7 v 阅读全文
摘要:
打开IDA64进行分析,进入main函数。 进入sub_4006D6函数,这个函数是对用户输入的字符进行验证,长度小于10并且只能输入0~4的字符。 然后进入下面的两个函数,看了半天没搞懂这两个函数是干啥的,接着往下分析。 sub_400881这个函数是将经过转换完赋值给这些字节,就是将这些#都换成 阅读全文
摘要:
时隔两个月再次更新博客~ IDA打开之后进入主函数。 qmemcpy函数是从内存中给v4变量进行赋值。进入vm_operad函数。 vm_opread函数会根据v4函数每一个值进行选择case操作,v4是传入的参数。 v4在内存中所获得的数据时db类型,大小是0x1c8即456,我们可以进入hex获 阅读全文
摘要:
我一看见wp,啪就点进来了,很快啊。 ZmxhZ3ttYmduYl95eWRzfQ== 阅读全文
摘要:
emmmmm,很长时间没有更新过了,今天更一篇。 IDA打开,进入main函数,分析代码 1 int main_0() 2 { 3 DWORD v0; // eax 4 DWORD v1; // eax 5 char String; // [esp+4Ch] [ebp-310h] 6 int v4; 阅读全文
摘要:
unsigned __int64 Decry() { char v1; // [rsp+Fh] [rbp-51h] int v2; // [rsp+10h] [rbp-50h] int v3; // [rsp+14h] [rbp-4Ch] int i; // [rsp+18h] [rbp-48h] 阅读全文
摘要:
算是入门pwn的第一道题吧 先拖进ida查看 F5查看伪代码: int __cdecl main(int argc, const char **argv, const char **envp) { char s; // [rsp+1h] [rbp-Fh] puts("please input"); 阅读全文
摘要:
今天学到了动态函数这种东西。 1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 char s; // [rsp+0h] [rbp-20h] 4 int v5; // [rsp+18h] [rbp-8h] 阅读全文
摘要:
扔进IDA里,shift+F12 查看strings window。找到字符串 Give me your flag: 被引用的地方在函数main里头。F5查看伪代码。 很明显可以看出,用户输入的长度必须大于4且小于30,以 EIS{ 开头,以 } 结尾。并且,在sub_4011C0函数中,对用户的输 阅读全文
摘要:
这题做的我真是当场去世。 经过手工测试过滤了and、= 空格 union等多个sql关键字 要思考如何绕过这些关键字去注入! 使用updatexml报错法注入 http://1bfb9fee-1fce-4f07-81b1-c8048e473a66.node3.buuoj.cn/check.php?u 阅读全文