buuctf--web
文章平均质量分 52
xiao孩
这个作者很懒,什么都没留下…
展开
-
[BUUCTF]BabySQli (writeup)
所以就要像 [GXYCTF2019]Ping Ping Ping 那样用rename来提取出来。这个表不能和其他会话共享直到HANDLER ... CLOSE。语句会打开一个表,使其能够用后续的HANDLER ... READ。但是发现是不行的,不过更确定了flag在这里面。光看这个文件名就可以知道flag在这里面。但是开头就看到了他将rename过滤。是用堆叠注入,然后看这题过滤的东西。得到了FlagHere这个文件。那就直接 order by。所以要用另一种办法,那就是。发现爆了一些过滤的字符。原创 2023-06-27 15:02:20 · 214 阅读 · 1 评论 -
[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 · 163 阅读 · 1 评论 -
[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 · 179 阅读 · 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 · 225 阅读 · 1 评论 -
[BUUCTF]HardSQL(writeup)
这是因为extractvalue函数限制了一次字符串只能输出32位。所以就用常用的" like "和" () "来绕过。发现select、ascii、空格、=等被过滤。输入admin / 2'or'1。使用bp试试看过滤了哪些东西。因为“=”、“空格”被过滤了。sql注入题进入后直接惯例。就确定了需要用报错注入来做。由此类推下去得到下一句语句。他只给了你前半段的flag。得到数据库名后构造下一句。这是为什么,那该怎么办呢。但是当你输入后会发现。再加上之前页面的报错。原创 2023-06-22 15:30:03 · 196 阅读 · 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 · 367 阅读 · 1 评论 -
[BUUCTF]你传你呢(writeup)
script language="php">eval($_REQUEST[love]) //密码 love。 //a.png是上传的图片马的文件名。### 这里注意目录是不带/var/www/html/的 ###### 先上传图片马再上传.htaccess ###一进门就看到满脸微笑的大师兄。随手就是一个图片马,发现不行。随后就是轻松的得到flag。怎么能让你笑的这么开心。原创 2023-06-17 21:35:07 · 84 阅读 · 1 评论 -
[BUUCTF]Easy MD5
分析发现:他的password经过md5处理过,所以是有注入的。payload:param1[]=2(随便填数字)¶m2[]=4(随便填数字)后面才知道可以直接用 [] 绕过,随后就是POST传入。分析这一串注释,一眼见顶针就是md5强碰撞。然后想起来之前看的一个md5绕过的文章。上面的md5强碰撞也可以用 [] 绕过。到这里后分析,依旧还是强碰撞。随后就是设置payload。但是发现上面那种绕过不行。进入靶机看到一个输入框。发现了这一串sql语句。因为它题目提示md5。原创 2023-06-17 20:22:40 · 610 阅读 · 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 · 273 阅读 · 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 · 516 阅读 · 0 评论 -
[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 · 71 阅读 · 1 评论