自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 [BUUCTF]PHP (writeup)

于是我们将参数值给select,但是在反序列化的时候会首先执行__wakeup()魔法方法,这个方法会把我们的username重新赋值,所以我们考虑如何跳过__wakeup(),而去执行__destruct。下载后发现了index.php class.php flag.php 三个文件。接着我们发现,username和password为private声明的变量。如果password不等于100,输出No!但是是错的,看了大佬的wp才知道要构造这样的序列化语句。这上面一段是拿大佬的,文章。

2023-06-27 16:28:11 111 1

原创 [BUUCTF]BabySQli (writeup)

所以就要像 [GXYCTF2019]Ping Ping Ping 那样用rename来提取出来。这个表不能和其他会话共享直到HANDLER ... CLOSE。语句会打开一个表,使其能够用后续的HANDLER ... READ。但是发现是不行的,不过更确定了flag在这里面。光看这个文件名就可以知道flag在这里面。但是开头就看到了他将rename过滤。是用堆叠注入,然后看这题过滤的东西。得到了FlagHere这个文件。那就直接 order by。所以要用另一种办法,那就是。发现爆了一些过滤的字符。

2023-06-27 15:02:20 174 1

原创 序列化和反序列化

序列化是将对象或数据结构转换为可存储或传输的格式的过程。序列化的结果可以是二进制、JSON、XML或其他格式,可以被保存在文件中,发送到网络上,或者在不同程序之间传输。序列化的主要目的是将对象或数据结构转换为一种通用格式,使得它们可以被不同的代码和平台所使用。实际上,通过序列化,可以使得这些对象或数据结构可以被跨越语言和平台的不同程序所使用。在序列化过程中,对象或数据结构的状态被表示为一系列值,如数字、字符串、布尔值等等。这些值被编码为一种通用格式,使得它们可以在不同的程序和平台之间传输。

2023-06-22 22:20:17 95

原创 [BUUCTF]AreUSerialz (writeup)

3、_destruct魔术,如果op==2时则op输出"1"(因为只有===才是全等,所以可以利用==的属性来在2前面加一个0或空格)4、如果输入的filename是存在的输出文件内容(filename=flag.php)2、如果op等于" 1 "则是写,等于" 2 "则是读取。1、由最上面的提示可得flag在flag.php内。最后他的代码处是用GET传入,赋值给str。所以最后的payload为。他的flag也藏在了源码里。看题的知是一道反序列化题。

2023-06-22 17:12:19 129 1

原创 [BUUCTF]CheckIn (writeup)

因为.user.ini是将a.png放到index.php文件的顶部进行执行。回显:exif_imagetype:not image!蚁剑后面的文件是index.php并不是a.png。所以要访问的是index.php。看到这个后就可以直接上蚁剑了。进入后看到是一道上传题。那就只剩下最后一种办法。随后看看了之前用过的。

2023-06-22 16:29:05 162 1

原创 [BUUCTF]HardSQL(writeup)

这是因为extractvalue函数限制了一次字符串只能输出32位。所以就用常用的" like "和" () "来绕过。发现select、ascii、空格、=等被过滤。输入admin / 2'or'1。使用bp试试看过滤了哪些东西。因为“=”、“空格”被过滤了。sql注入题进入后直接惯例。就确定了需要用报错注入来做。由此类推下去得到下一句语句。他只给了你前半段的flag。得到数据库名后构造下一句。这是为什么,那该怎么办呢。但是当你输入后会发现。再加上之前页面的报错。

2023-06-22 15:30:03 137 1

原创 MD5强碰撞(md5值以0e开头的值)

md5强碰撞

2023-06-17 22:17:11 115 1

原创 [BUUCTF]NiZhuanSiWei (writeup)

2、看到了后面双斜杠提示的useless.php,说明flag在useless.php里面。3、看到了useless.php下面的unserialize猜测有反序列化。//用data://传入welcome to the zjctf。//用php://查看useless.php源码。然后现在看到代码里的public更加的确定了想法。就得到了useless.php的源码。有了这个后payload就简单了。进入后看到一串php代码。因为上面有分析到反序列化。随后就是传payload。之后就是构造序列化代码。

2023-06-17 22:03:15 322 1

原创 [BUUCTF]你传你呢(writeup)

script language="php">eval($_REQUEST[love]) //密码 love。 //a.png是上传的图片马的文件名。### 这里注意目录是不带/var/www/html/的 ###### 先上传图片马再上传.htaccess ###一进门就看到满脸微笑的大师兄。随手就是一个图片马,发现不行。随后就是轻松的得到flag。怎么能让你笑的这么开心。

2023-06-17 21:35:07 58 1

原创 [BUUCTF]Easy MD5

分析发现:他的password经过md5处理过,所以是有注入的。payload:param1[]=2(随便填数字)¶m2[]=4(随便填数字)后面才知道可以直接用 [] 绕过,随后就是POST传入。分析这一串注释,一眼见顶针就是md5强碰撞。然后想起来之前看的一个md5绕过的文章。上面的md5强碰撞也可以用 [] 绕过。到这里后分析,依旧还是强碰撞。随后就是设置payload。但是发现上面那种绕过不行。进入靶机看到一个输入框。发现了这一串sql语句。因为它题目提示md5。

2023-06-17 20:22:40 520 1

原创 [BUUCTF] easy_tornado (writeup)

tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且还可以通过{{}}进行传递变量和执行简单的表达式。根据 flag.txt 和 hints.txt 的提示我们得出flag在/fllllllllllllag里面。回显了orz,回想welcome.txt 有提示render。有了cookie_secret后根据hints.txt。进入靶机后发现了三个文件,分别是。由此得到payload为。

2023-06-10 15:13:20 237 1

原创 [BUUCTF-web] BuyFlag (writeup)

变量password使用POST进行传参,不难看出来,只要$password == 404为真,就可以绕过。函数is_numeric()判断其中的参数是数字还是其他,如果是数字则判断为真,否则为假。如果想要买flag,你必须是CUIT的学生,你必须回答正确的密码 只有CUIT的学生可以买flag。在抓包后发现cookie的user为0,所以直接将0改成1。到这里没了什么思路,但是看到他的php版本后,问题就简单了。因为题目为buyflag,所以就可以认定flag在这里拿。但是不知道,该怎么办。

2023-06-10 14:12:53 443

原创 [BUUCTF-web] Eazy-Calc (writeup)

使用 file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。发现有一个calc.php的网页,而且他还设置了waf的拦截。但是由于有waf的拦截,所以就要在num的前面加一个空格。使用 scandir()函数是用来获扫描目录下文件。使用 var_dump函数输出变量的相关信息。因为他源码里有提到url的编写,所以直接。仔细观察发现一个敏感文件,文件名为。首先查看题目,是关于计算的题目。访问得到一串过滤字符的代码。的ascii码为47,得到。进入网页有一个输入框。

2023-06-10 13:42:07 62 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除