![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF
文章平均质量分 66
CTF题目小记
Fzuim
不忘初心,方得始终!
展开
-
文件上传漏洞总结
客户端js检查一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。查看源代码可以看到有如下代码对上传文件类型进行了限制:<script type="text/javascript"> function checkFile() { var file = document.getElementsByName('upload_file')[0].value; if (file == null || file ==.原创 2021-11-28 21:16:48 · 393 阅读 · 0 评论 -
几种常见编码
栅栏密码 Fence Code简单来说,栅栏密码就是把一个明文(去掉空格)分成n组,每组m个,然后一定的排序方法(看下面例子)来将这些字符重新组合。通过m的大小称其为m栏栅栏密码,比较常见的m取2,即2栏栅栏密码。① n = 7, m = 2假设明文为:have a good night加密过程如下:将其去掉空格:haveagoodnight分成7组:ha ve ag oo dn ig hthaveagoodnight按照竖排来组合,则它的栅栏密码为:hvaodihaegon原创 2021-11-21 18:45:14 · 905 阅读 · 0 评论 -
pikachu靶场
暴力破解1. 基于表单的暴力破解解题步骤:(一) 管理员账号admin尝试爆破,在密码处进行字典爆破(二) 爆破出密码1234562. 验证码绕过(on server)解题步骤:(一) 题目漏洞点,在于验证码长久有效,同样进行burp抓包然后对密码位置进行爆破(二) 保持一个正确验证码进行爆破,密码1234563. 验证码绕过(on client)解题步骤:(一) 题目漏洞点,在于验证码长久有效,同样进行burp抓包然后对密码位置进行爆破(二原创 2021-11-21 18:41:50 · 2993 阅读 · 1 评论 -
dvwa靶场
Burp Forcelow级别burp抓包,爆破模块处理即可(low权限还存在一个sql注入漏洞)Medium级别去除了sql漏洞,依然采用burp爆破方式High级别多引入一个token字段,此值在响应里面,依然采用burp爆破,设置如下Impossible级别密码错误达到上限,进行时间限制,基本上没法用burp爆破模式Command Injection命令执行,通过&&、&、||、|、;等连接符,执行多条命令&&:先执行cmd1,原创 2021-11-21 00:00:08 · 4169 阅读 · 0 评论 -
PHP反序列化
0x00 前言最近也是在复习之前学过的内容,感觉对PHP反序列化的理解更加深了,所以在此总结一下0x01 serialize()函数“所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。”一开始看这个概念可能有些懵,但之后也是慢慢理解了在程序执行结束时,内存数据便会立即销毁,变量所储存的数据便是内存数据,而文件、数据库是“持久数据”,因此PHP序列化就是将内存的变量数据“保存”到原创 2021-11-20 23:55:15 · 127 阅读 · 0 评论 -
格式化字符串漏洞泄露got表
#include <stdio.h>int main() { char s[100]; scanf("%s", s); printf(s); return 0;}编译命令:gcc -m32 -fno-stack-protector -no-pie -o fmt fmt.c泄露的payload先贴出来,再理解# coding:utf-8from pwn import*from LibcSearcher import *context.log_level = '原创 2021-11-20 23:45:44 · 679 阅读 · 0 评论 -
BUUCTF-BuyFlag
php中的strcmp漏洞说明:int strcmp ( string $str1 , string $str2 )参数 str1第一个字符串。str2第二个字符串。如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。可知,传入的期望类型是字符串类型的数据,但是如果我们传入非字符串类型的数据的时候,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前的php中,显示原创 2021-08-02 08:26:51 · 142 阅读 · 0 评论 -
BUUCTF-[Black Watch 入群题]PWN
常规检查下来,发现可以进行栈溢出,但是允许操作的空间只有8个字节…看下ida伪代码可操作空间很小,只能覆盖到eip,正常思路是:泄露write的got表地址,然后通过libcsearch找出system和bin/sh的地址,再次构造栈溢出攻击。此题目栈溢出只能操作8字节,一般思路行不通。此时就用到另一个概念:栈迁移!!!栈迁移的关键点在于esp,能把esp重新指向另外一块内存空间,即可成功。这题的另一块内存空间就是bss段。利用到栈迁移,我们需要在原本栈的eip位置覆盖成 leave;r.原创 2021-04-14 21:13:51 · 369 阅读 · 0 评论 -
BUUCTF-not_the_same_3dsctf_2016
这是一道pwn题目IDA查看伪代码查看编译属性思路1,本地可打通,远程不行思路2,正确解法答案IDA查看伪代码main函数gets函数存在栈溢出攻击通过查看字符串列表,发现有个get_secret读取flag.txt后门函数查看编译属性思路1,本地可打通,远程不行也是最简单的,payload构造溢出返回到get_secret函数,并printf打印出fl4g,payload如下#coding=utf8from pwn import *context.log_level = 'deb原创 2021-03-03 09:18:25 · 1586 阅读 · 5 评论 -
BUUCTF-Reverse-刮开有奖
直接IDA打开分析,这个exe是32位程序。关键窗口函数,String字符串从v18~v25,共8个字符。字符串处理核心代码区。sub_4010F0对字符串 ZJSECaNH3ng,进行处理,直接扣出来,运行一下。// TestDemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>typedef DWORD _DWORD;int sub_4010F0(char* a1, int a2, int原创 2021-01-28 08:54:23 · 361 阅读 · 0 评论