
WP
文章平均质量分 75
比赛、练习WP
MUNG东隅
做一个有想法的菜鸡。
展开
-
2022安洵杯babyphp
这个题没打出来有点可惜,感觉做的都差不多了,不过有些地方确实没理解,还是理解不到位先来看序列化,这个序列化是不难的,不过有一个小坑,我们先理一遍顺序flag.php这里最后肯定要调用C类的uwant函数,可以由A类的__invoke()方法触发,A类的__invoke()方法由C类的__toString()方法触发,这里有一个小坑,我当时一直以为这个tostring是A类的 $this->a = "babyhacker";触发的,结果一直没跑通,后来看没用到B类,尝试用B的die($this->a);原创 2022-11-28 22:31:00 · 1166 阅读 · 0 评论 -
[安洵杯 2019]不是文件上传
能用来读flag.php的代码是这个destruct方法,这里我们可以改config的值的,注意他是protected类型的变量,要进行%00构造一下,此外他在show.php那个页面会进行一个反序列化,并且是输出值的,我们就看看哪里能把这个构造的序列化字符串塞进去让它成功执行反序列化就好。upload函数调用save函数,save函数里传入的值是$data,这也是后面要进行insert的内容,我们跟进getfile函数。最终执行的sql语句是这句,他在insert_array函数里。原创 2022-11-19 14:41:03 · 700 阅读 · 0 评论 -
[ISITDTU 2019]EasyPHP
可以看到它过滤的还是不少的,像这种有过滤代码量又少的题,无非就是各种花样绕,什么亦或呀,自增呀之类的,推荐先看p神的那几篇文章,我们也可以看到他这里是没有ban掉亦或符号的,可以会用得上,这里我先尝试了一下取反。这里的意思大概是利用这个print_r(scandir(.))里面已经有的字符亦或得到里面的字符,那这个可以被已有的字符亦或出的字符就不用再使用了,减少一个坑,但是会让payload变长很多。没有屏蔽print_r()和scandir() ,想办法构造出print_r(scandir(.))原创 2022-11-10 00:47:34 · 318 阅读 · 0 评论 -
[GYCTF2020]Easyphp
nickname),那这个类它反序列化出来字符串大括号{}里面只有俩元素,一个age的键值对一个nickname的键值对(这么说也不太严谨,就是那个意思吧),然后操作空间就来了,紧接着这个反序列化好的字符串进到safe函数里进行一个反序列化字符串的逃逸,nickname可以很长,union被替换成hacker等方式都可以用来进行逃逸。这个是放在Info类的nickname里作为字符串出现的,为了保证Info类序列化的可用性,我们需要把这些字符串逃逸到Info类的第三个属性$CtrlCase里。原创 2022-10-31 11:38:06 · 791 阅读 · 0 评论 -
[MRCTF2020]Ezaudit
还是比较好做出的,这个题考查的是伪随机数,后面的代码他把公钥给出了,我们可以根据公钥计算出种子,再计算出私钥,然后拿着私钥去登陆,登陆的那个sql语句是可以闭合的。可以发现,我这里让它跑出28位,前16位是公钥,能和他给的公钥对上,后12位是私钥,这样私钥就有了。拿跑出的序列去跑php_mt_seed脚本。稍微闭合一下那个sql语句,拿到flag。再拿跑出的种子去跑出随机数。御剑扫描出www.zip。原创 2022-10-30 11:15:04 · 138 阅读 · 0 评论 -
[GKCTF 2021]easycms
先去 设计-> 高级 ,尝试修改一下代码,他会报错,复制它报错的目录,比如我这里复制。第四步,连接蚁剑getshell, flag在根目录。找到后台是admin.php,弱口令登陆。下面提示了使用的cms和cms版本。找这个版本的cms利用方式就好了。搜索一下发现他存在命令执行漏洞。第二步,修改一下原始id保存。原创 2022-10-30 11:13:31 · 1121 阅读 · 0 评论 -
CH4INRULZ vulnhub靶场
这里只要重点看注释里的内容,看起来是用户名密码组合,用户名frank,密码貌似是被加密的,把用户名密码用txt保存,用john解密一下。打开发现给了一个登录框,还没法登陆,再看别的地方,继续扫一下备份文件,在linux系统里面bak结尾的备份文件比较多。能读取到文件,可以尝试读取刚刚文件上传的那个php文件,以找到我们图片马上传的路径。转到var路径看一下文件目录,找一个比较高的用户权限目录上传脏牛,那个a可以。用获取到的这个用户名密码登陆刚刚的development目录里面的登录框。原创 2022-10-25 00:27:52 · 726 阅读 · 0 评论 -
DASCTF2022十月挑战赛部分WP
DASCTF2022十月挑战赛部分WP.看题目源码,有4个类,开始的时候看到了fine类里面的call_user_func,最终应该是打进这个地方,另外看到了 secret_code 类里面的hint()函数,所以我的想法路线是先想办法调用出这个hint()函数,然后根据给出的hint进入那个call_user_func,然后就开始找链子,但是最终hint()函数给出的东西真是让我摸不到头脑,就只好不管这个hint直接打进call_user_func进行rce了。原创 2022-10-25 00:04:56 · 1445 阅读 · 0 评论 -
内网渗透学习 day2
复制kali中的php-reverse-shell.php(文件位于 /usr/share/webshells/php)中的内容,修改其中的IP和端口。他的uid是1000,uid为0是管理员,1-999是系统账号,1000及以后的是普通用户。这里应该是暴露了这个网站使用的cms和版本号,找一下这个版本有没有能利用的漏洞。下面就是提权,利用脏牛提权,这个利用方式好像是利用了linux的内核漏洞。我们假设这个用户的密码和刚刚数据库的密码是一致的,用ssh连一下。然后看这个账户的权限信息,是一个低权限的。原创 2022-10-23 23:45:48 · 512 阅读 · 0 评论 -
内网渗透学习 day1
燃烧的墙壁和恶魔无处不在,即使您值得信赖的工具也会在此任务中背叛您。在获得根之后,您确实会同意“地狱不是一个糟糕的地方”。之后我们使用Hydra进行爆破,这是一个自动化暴力破解弱密码的工具,是一个支持多协议的爆破工具。由于靶机和我们的攻击机处于同一个内网环境下,首先ifcongif命令查看本地ip。我们再通过浏览器访问上传好的webshell,账号密码就是我们刚刚爆破出的。访问一下,他要本地访问,我们抓包改XFF为127.0.0.1以后是这样的。密码使我们刚刚修改文件里的东西,刚刚我们设置的密码是666。原创 2022-10-20 23:06:05 · 381 阅读 · 0 评论 -
BUUCTF WEB 第四页WP(持续更新)
这个题感觉啥也没有,翻了半天,才找到有个传参的地方,第一个参数叫search,就是查询,这后面跟的地名,自己感觉有问题,但是不看别的师傅的博客,我可能也不会往sql注入这方面来想,自己还是太菜了。那搜索的地方变成用户为2的时候了,我没有注册用户为2的号,所以他这里不回显,我甚至觉得这个漏洞可以搜到别人的简介,那这里首先可以考虑联合查询注入。他的逻辑是文件内容前五位不检测,后面的会进行严格的过滤,合格的就变成可执行php,不合格的就die掉。//,则}闭合了a(),同时//注释了后面的内容。原创 2022-10-13 21:40:57 · 5707 阅读 · 0 评论 -
October 2019 Twice SQL Injection
那搜索的地方变成用户为2的时候了,我没有注册用户为2的号,所以他这里不回显,我甚至觉得这个漏洞可以搜到别人的简介,那这里首先可以考虑联合查询注入。这个都说twice sql injection了,就尝试二次注入。我注册用户名 2’# 他这个主页就没有那个没有简介的字。为啥呢,,,,我就猜,我想这里简介显示的sql语句是这样的。然后呢,这里我刚刚注册的用户名是2’#,那这个语句就变成。注册一个账号登录以后有一个改个人简介的地方。原创 2022-10-13 18:43:18 · 625 阅读 · 0 评论 -
[GXYCTF2019]StrongestMind
拿到这个题稍微分析了下流量,没什么发现,它这个题又只需要计算成功1000次,所以打算还是写脚本。小菜鸡写的脚本终于跑起来了,5555555555555555555。原创 2022-10-13 00:11:22 · 198 阅读 · 0 评论 -
[网鼎杯2018]Unfinish
另外,‘0’+123+'0’这样的注入进去是123,这样可以直接读到内容,这里的数字嘛,我们可以把想得到的东西进行两次hex()就好了,但是两次hex()之后注入数据库的数字变成了小数,这里可以用substr截取,而逗号被过滤了,如何不用逗号进行截取又是新的知识点,学到了:substr(str from 1 for 10) 这个样子。这个跟php的弱类型差不多的,‘’+(我们的盲注)+‘’,我们盲注的结果返回1那这里username就会变成1,反之为0。注册的时候用户名这样写:(注意单引号不能漏)原创 2022-10-11 00:30:55 · 844 阅读 · 0 评论 -
[CISCN2019 总决赛 Day2 Web1]Easyweb
自己试了半天,这里转义函数和替换连用有业务逻辑漏洞,比如我输入\0,按照它本来的设计应该是想把这个\0替换为空,但是\0会先被转义函数转义为\\0,这样再进行替换的时候就会剩下\,不知道怎么利用,看了下wp,才发现很巧妙,这里id被过滤完后剩下的转义符\,刚好可以转义原来的sql语句中id的后一个单引号。另外,通过抓包发现image.php后面跟了一个id参数,其中1,2,3有不同的图片回显,可能是sql注入。这个脚本实在是太垃圾了,我就尝试写了一下二分法脚本,竟然搞出来了,我感到很开心。原创 2022-10-03 16:33:52 · 792 阅读 · 0 评论 -
BUUCTF web第三页WP
简单来说,就是mt_srand(seed)分发种子,相当于进行产生随机数的初始化,然后通过mt_rand函数获得种子,但是这个随机数并不是真正的随机,他是有可预测性的,如果我们能获得种子,就一定程度上可以获得产生的随机数,根据这个随机数进行验证的部分就不安全了。这个题的逻辑就是在注册的地方进行过滤,我们绕过过滤登陆进去以后,有一个改密码的功能,他是用双引号闭合用户名进行改密码操作的,我们注册好的用户名双引号结尾就可以闭合,后面跟我们进行报错注入的代码就好,至于改密码怎么改是随便填的,重点在注册好的用户名。原创 2022-10-03 00:20:37 · 1424 阅读 · 0 评论 -
[RCTF2015]EasySQL
这个题的逻辑就是在注册的地方进行过滤,我们绕过过滤登陆进去以后,有一个改密码的功能,他是用双引号闭合用户名进行改密码操作的,我们注册好的用户名双引号结尾就可以闭合,后面跟我们进行报错注入的代码就好,至于改密码怎么改是随便填的,重点在注册好的用户名。进入修改密码页面会报错,说明是二次注入,并且是双引号闭合的报错注入。它输出长度是有限的,再倒置输出一下就好了。然后想尝试写一下脚本,,,,en,,,再根据这种方法获取flag。注册用户 admin"原创 2022-10-01 21:39:33 · 1089 阅读 · 0 评论 -
[GWCTF 2019]枯燥的抽奖
简单来说,就是mt_srand(seed)分发种子,相当于进行产生随机数的初始化,然后通过mt_rand函数获得种子,但是这个随机数并不是真正的随机,他是有可预测性的,如果我们能获得种子,就一定程度上可以获得产生的随机数,根据这个随机数进行验证的部分就不安全了。这个题里面,我们要爆破的应该是这一段mt_rand(0, strlen($str_long1) - 1),相当于mt_rand(0,61), 这个所谓的产生的随机的字符串,就是通过这个0-61的随机数选20次选出来的。这个题考察的是伪随机数。原创 2022-09-29 20:32:22 · 837 阅读 · 0 评论 -
sqllabs靶场通关记录
id=1' and substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='0' %23 跑出第一张表为emails,把后面的limit 1,1 一次次换,得到四张表。id=1' and and if(ascii(substring(database(),1,1))='110',sleep(5),1) %23 跑assic码,跑出来是security。原创 2022-09-25 20:31:16 · 564 阅读 · 0 评论 -
本地搭建靶站进行漏洞复现和防御(SQL注入、文件上传、XSS漏洞的多种形式)
本地搭建靶站进行漏洞复现和防御(SQL注入、文件上传、XSS漏洞的多种形式)。本地搭建靶站进行测试,旨在提高自己的开发能力以及对漏洞的理解。这个靶站其实可以说是我出的第一道web题吧,里面藏了三个flag,拼接为一个完整的flag三个flag的位置分别在:数据库中、admin用户的cookie中、网站源码文件flag.php中,分别对应sql注入漏洞、xss漏洞、文件上传漏洞,我想出第四个flag部分,对应csrf漏洞。原创 2022-09-17 00:01:40 · 1744 阅读 · 0 评论 -
uploads-labs靶场(附源码分析)
uploads-labs靶场(附源码分析)原创 2022-06-30 15:09:50 · 923 阅读 · 0 评论 -
BUUCTF web第二页WP
写一下我得理解,首先这里的id是障眼法不用管,foreach遍历GET数组,传到complex()函数里,$str匹配$re这个正则表达式并且替换为\1,这里\1有特殊含义,e模式下我们的$str会被存入缓冲区,而这个1会导致回调缓冲区的内容,这个时候如果$str是我们想办法利用的getFlag(),再get传入cmd,代码执行不就成了么,最后要说那个$re写成全部匹配就好,像这样: \S*)/),所以会一直递归,?),也就是它把类似a(b(c()d())))这种的全替换为空后只剩下;原创 2022-09-12 11:52:15 · 1133 阅读 · 0 评论 -
纵横网络靶场 刷题记录
纵横网络靶场 刷题记录原创 2022-08-31 10:40:29 · 975 阅读 · 0 评论 -
BUUCTF misc第二页WP
梅花香之苦寒来拿到图片后binwalk啥也没有,拖进010看16进制文件结构很完整,但是FFD9后面跟着一大串数字字母,而且貌似还有一定规律。 把这些字符复制出来,将十六进制转为字符 。有情况得到了一堆坐标,那不就明白咋回事了吗,类似坐标, 利用python中的matplotlib模块对该段坐标进行绘图得到二维码1.txt文本文档要写成这种格式:扫码得到flag `flag{40fc0a979f759c8892f4dc.....原创 2022-04-21 16:51:05 · 3806 阅读 · 0 评论 -
BUUCTF misc第三页WP(在更)
目录低个头低个头给了个密文没有这种密码,低个头,看键盘,这几段串起来在键盘上写了个CTFflag{CTF}原创 2022-04-26 01:03:32 · 611 阅读 · 0 评论 -
BUUCTF web第一页WP
目录[极客大挑战 2019]EasySQL[HCTF 2018]WarmUp[极客大挑战 2019]Havefun[ACTF2020 新生赛]Include[强网杯 2019]随便注[极客大挑战 2019]EasySQLpayload:1' or 1=1-- -1flag{deb9ccf8-479a-49c9-8412-6171f1c4b057}[HCTF 2018]WarmUpf12查看源码发现提示source.php, 进入获得源代码.原创 2022-05-13 01:43:17 · 877 阅读 · 0 评论