- 博客(35)
- 收藏
- 关注
原创 【栈迁移】[BUUCTF]ciscn_2019_es_2
0x30字节数据给s,s大小是0x28,只能溢出0x8字节,刚好覆写ebp和ret。ret的栈劫持去到参数s的栈,让它去执行我们布置在栈上的system(‘/bin/sh’)来获取shell。第二次直接往栈上写入后门 函数 system(‘/bin/sh’),之后利用leave;第一次输入来泄露程序里的ebp地址,知道了ebp的地址就能够推算出参数s在栈上的地址。如果我们输入的内容正好把ebp前面的区域完全覆盖,这样就没法在末尾补上’\0‘,可以将rop链写到栈上,再将栈劫持到我们写的地方就可以了。
2024-04-01 21:53:58 374
原创 沙箱pwn
BPF_LD:加载操作,BPF_H表示按照字节传送,BPF_W表示按照双字来传送,BPF_B表示传送单个字节。BPF_LDX:从内存中加载byte/half-word/word/double-word。BPF_ST,BPF_STX:存储操作BPF_ALU,BPT_ALU64:逻辑操作运算。BPT_JMP:跳转操作,可以和JGE,JGT,JEQ,JSET一起表示有条件的跳转,和BPF_JA一起表示没有条件的跳转。
2024-03-24 23:29:03 474
原创 gdb得到填充垃圾数据数 ret2syscall
有漏洞的函数gdb 得到 栈空间大小gadgets 就是以 ret 结尾的指令序列,通过这些指令序列,我们可以修改某些地址的内容,方便控制程序的执行流程。
2023-11-24 11:21:27 418
原创 [CISCN 2019华北]PWN1
v2的值给的是浮点数,需要转换成16进制的,十六进制值可以从汇编中找到。v1在栈中的地址是0x30到0x04,所以要覆盖的长度就是。
2023-11-03 16:57:48 177
原创 [SWPUCTF 2021 新生赛]nc签到
{IFS}在Bash中表示“Internal Field Separator”,用于分隔参数的内部字段分隔符,默认情况下,IFS被设置为包含空格、制表符和换行符的字符串。不能有’cat’,‘ls’,’ ‘,‘cd’,‘echo’,’<’,’${IFS}’也就是将空格视为1,这样就绕过了blacklist。tac指令 将文本逆序打印出来。cat指令 将文本正序打印出来。
2023-11-03 15:04:25 125
原创 [BUUCTF]PWN——babyheap_0ctf_2017
atof()会扫描参数字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,直到格式违规或遇到字符串结束标志‘\0’才会结束转换,返回一个double类型的数据。)意思是将八个字节的后者(v4)强制转换为8个字节的地址,而后再其前边加上星号就是提取指针“将指针指向的8个空间格子取出”,程序中的意思是,再将其以16进制形式打印出来。atoi()返回的是一个int型数据,atol()返回的是一个long int型数据。dword是指注册表的键值,每个word为2个字节,dword双字即为4个字节。
2023-10-28 18:21:03 78
原创 [HNCTF 2022 Week1]Interesting_include
get一个filter变量,然后进行正则匹配,找flag关键字,include函数打开此文件。php://input用来执行php代码(post一段php代码)filter=flag.php,只会发现一片空白。目标对象resource=./flag.php。php://filter用来读取源码。
2023-10-24 22:02:50 324
原创 WEEK1|CRYPTO
就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。组成栅栏的字母一般不会太多。(一般不超过30个凯撒 kqflbrainfuck 语法由一个8个字符的字符集组成,即维吉尼亚解密flag 对应 pqcq1.base64得到flag{dazzling_encoding#4e0ad42.base32得到f0ca08d1e1d0f10c0c7afe422fea73.uuencode得到c55192c992036ef623372601ff3a}。
2023-10-08 17:53:04 60
原创 RSA共模攻击
根据扩展欧几里德算法,对于不完全为 0 的整数 a,b,gcd(a,b)表示 a,b 的最大公约数。那么一定存在整数 x,y 使得 gcd(a,b)=ax+by。因为e1和e2为正整数,所以s1、s2皆为整数,但是一正一负,此时假设s1为正数,s2为负数。共模攻击即用两个及以上的公钥(n,e)来加密同一条信息m。当e1,e2互质,则有gcd(e1,e2)=1。e1 e2 为素数。
2023-10-08 17:16:59 243
原创 SSRF Me
url那里提交的file:///flag可能拼接到url后面当参数提交,那我们试试url编码提交看看。不行 读文件 http:///etc/passwd 读/flag看看行不行。查看源代码, hint 不能访问内网 请求本地地址。%66%6c%61%67 得flag。返回hacker,说明有过滤。
2023-09-27 21:07:11 54
原创 easy_web攻防
flask使用jinjia2渲染引擎进行网页渲染,当处理不得当,未进行语句过滤,用户输入{{控制语句}},会导致渲染出恶意代码,形成注入。还可以通过__base__:返回当前类父类(以字符串的形式)或者__bases__以元组的形式返回所有父类(元组可通过索引访问。__mor__:返回解析函数时,类的调用顺序,通过索引的方式__mor,就可返回object类。__class__:返回当前类(输入abc,是字符串类,除此以外还有元组类,字典类等)# 如果需要替换replace(被替换的字符,替换后的字符)
2023-09-27 13:43:34 71 1
原创 ezbypass-cat
1、属于转发,也是服务器跳转,相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,前后页 共用一个request,可以通过此来传递一些数据或者session信息,request.setAttribute()和 request.getAttribute()。重定向代码执行之后是方法执行完成之后进行重定向操作,也就是访问第二个请求,如果是方法的最后一行进行重定向那就会马上进行重定向(重定向也需要return)。1.重定向访问服务器两次,转发只访问服务器一次。
2023-09-21 20:52:16 569
原创 时间盲注 延时
由于服务器端拼接了SQL语句,且正确和错误存在同样的回显,即是错误信息被过滤,可以通过页面响应时间进行按位判断数据。由于时间盲注中的函数是在数据库中执行的,但是sleep函数或者benchmark函数的过多执行会让服务器负载过高1.2、原理:当对数据库进行查询操作,如果查询的条件不存在,语句执行的速度非常快,执行时间基本可以认为是0,通过控制sql语句的执行时间来判断。
2023-09-21 12:55:30 71
原创 攻防世界ez_curl
当Content-Type为application/x-www-form-urlencoded且提交方法是POST方法时,2、加上媒体类型信息:Content-Type: application/x-www-form-urlencoded。substr() 函数返回字符串的一部分。$_POST数据与php://input数据是一致的。,要绕过这个设置,admin不能是false。array()函数是用来创建一个PHp数组。SP指的是空格,HT指的是制表符。1、GET修改为POST方法。
2023-09-19 15:07:10 667
原创 [HDCTF 2023]YamiYami | NSSCTF
对于伪随机数,当seed固定时,生成的随机数是可以预测的,也就是顺序为固定的,所以只要知道seed的值即可。这里看到seed使用的uuid.getnode()函数,该函数用于获取Mac地址并将其转换为整数。函数,用于初始化随机数生成器的种子。通过使用机器的唯一标识符作为种子,可以增加生成的随机数的独特性。init 进程是 Linux 系统中的第一个用户空间进程,它负责启动和管理其他用户进程。引用的是进程 ID 为 1 的 init 进程的环境变量。的所有匹配项,并以列表的形式返回这些匹配项。
2023-09-16 09:47:46 274 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人