- 博客(7)
- 收藏
- 关注
原创 C++自增和自减运算符号
当自增和自减单独作为一个语句的时候前后缀作用相同,但是在表达式计算中出现自增和自减运算符,前缀和后缀有很大的区别。自增++和自减--都是给变量整数值加1或者减1(非整数类型也可以)。也就是说前缀的返回值可以继续被修改,而后缀的返回值不可以。其中后缀的优先级大于前缀的优先级。两者分前缀和后缀,如。
2025-01-15 22:31:36
169
原创 NewStarCTF week3 WP
ida打开,scanf溢出了,但是只能输入整数,又开启了Canary保护,这该如何是好呢?突发奇想,scanf读到非数字就不读了,非数字仍然留在输入缓冲区,导致后面的都读不了,加入我输入负号呢,scanf本来以为是负数,就把负号读了,结果后面全是负号怎么办,那只能报错了,可是前面读了的负号已经从缓冲区移出去了呀!导入ida打开,看不懂,好在题目给了提示,ida下载d810的插件,解混淆之后虽然还有点抽象,但是能看懂一点了大概就是输入v10,判断函数sub_3B30的返回值是否正确。
2024-10-22 10:05:12
595
5
原创 NewStarCTF week2 WP
攻击思路就是利用好for的三次循环,第一次循环%order$p读取puts函数的got表项,进而得到libc的基地址,第二次循环利用libc的基地址得到system的真实地址,并%order$n写入到memset的got表项,第三次循环向buf写入字符串"/bin/sh",然后调用memset实际是调用shell。发现每次输入存在buf里的时候是向栈地址增大的时候存的,这样虽然无法覆盖main,但是会把read函数的返回地址覆盖,于是payload=b'a'*256+ret_addr。
2024-10-22 10:04:13
889
原创 NewStartCTF2024 week1 WP
最后在work.pangbai.ezandroidstudy.MainActivity调用了getflag5函数,native关键字,函数在so文件里,将apk后缀名改为zip,解压得到so文件,用ida打开x86_64下的so文件。将apk下载到逍遥模拟器中,运行,根据提示,查找AndroidMainifest.xml文件里的Activity标签,发现work.pangbai.ezandroidstudy.MainActivity。ida打开进入func函数,函数逻辑输入passwd:NewStar!
2024-10-22 10:01:52
2140
2
原创 计算机网络实验:Linux下C语言实现Web服务器
AF.INET表示能够接收ipv4,INADDR_ANY表示接收任何地址的客户端连接,htons则将端口号转换成网络字节,然后用bind函数将服务器套接字和端口绑定起来,再调用listen,使系统开始监听服务器套接字的端口,等待客户端的连接。pthread_t 定义了一个新的线程id,pthread_create则利用这个线程id创建一个新的线程,而第三个参数则是该线程执行的函数,第四个参数就是执行函数的参数。首先自然是创建一个服务器套接字,使其能够接收客户端的请求。
2024-07-21 12:25:34
1825
原创 Linux下C语言完成简单Web代理服务器
创建与目标地址连接的套接字,gethostbyname是解析域名的库函数,bcopy将gethostbyname解析到的ip地址复制到target_address套接字中,然后connect连接,发送request请求,注意http报文格式。服务器创建套接字 ——> 服务器与客户端连接并分配线程 ——> 服务器接收客户端消息 ——> 服务器将客户端消息发向目标地址 ——> 服务器接收目标地址的响应 ——> 服务器将响应反馈给客户端。接收比较简单,直接把目标地址的响应全部发给客户端就行了。
2024-07-15 11:25:03
2077
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人