
CTFshow
文章平均质量分 51
CTFshow-web练习
T大白兔奶糖
这个作者很懒,什么都没留下…
展开
-
CTFshow-web-红包题第六弹
首先获得key.dat,首先访问一下这个文件,emmm,果然直接下载了,那么第一层的绕过我们直接就使用了key.dat文件,第二层的sha1值我们随便上传一个字符串即可,所以我们需要并发编程,将$receiveFile中的内容在极短时间内进行替换,这里我们可以编写一个python脚本来进行解题。发现web.zip目录是直接下载的,另外两个会跳转页面,但是内容是显示什么什么然后error。发现是跟key.dat比较,我们尝试在url中添加/key.dat,发现可以下载,我们利用下列代码。原创 2023-11-03 20:26:17 · 540 阅读 · 1 评论 -
CTFshow-web-web11
我们将密码password改为空,再将PHPSESSID也改为空,就能满足密码相等,再点击放包,flag显示。发现过滤了很多,后面发现当我们输入的密码与session中保存的密码继续匹配,相同即可输出flag。我们利用burpsuite进行抓包,点击登陆,抓到的包显示如下。原创 2023-10-16 23:06:42 · 121 阅读 · 0 评论 -
CTFshow-web-web10
因为加入with rollup后 password有一行为NULL,我们只要输入空密码使得(NULL==NULL)即可满足。源码中先根据用户查询用户信息, 用户名通过以后, 再判断密码是否相同, 我们绕过用户名的过滤条件, 再使用 with rollup注入绕过密码。2.with rollup:group by 后可以跟with rollup,表示在进行分组统计的基础上再次进行汇总统计。点击取消键,意外发现触发一个下载任务index.phps文件,打开文件查看,显示如下。这样就能登录成功了。原创 2023-10-13 21:32:08 · 242 阅读 · 0 评论 -
CTFshow-web-web12
highlight_file()函数可以用于将一个PHP文件的代码高亮显示,并输出到页面上或者保存到文件中。利用burpsuite进行抓包,发现是get传参。glob()函数返回匹配指定模式的文件名或目录。glob(“.txt”)匹配以txt后缀的文件。我们使用高亮函数,将长的文件显示一下。我们将当前目录下的文件打印出,输入。php中有个函数glob();glob(“”)匹配任意文件。尝试远程代码执行,传入参数。查看源代码,发现有个提示。原创 2023-10-20 22:40:11 · 168 阅读 · 0 评论 -
CTFshow-web-web9
而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是1select * from ‘admin’ where password=’’ or ‘6xxxxx’,等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数。发现SQL中使用了md5()函数加密,我们可以利用MD5加密漏洞来绕过,发现还不能超过10,不然会显示错误。访问/index.phps文件,将其下载至本地,打开,显示如下。输入密码ffifdyop,显示如下,flag出现。所以用ffifdyop绕过。原创 2023-10-12 16:21:06 · 223 阅读 · 0 评论 -
CTFshow-web-web13
user.ini中两个中的配置就是auto_prepend_file和auto_append_file。这两个配置的意思就是:我们指定一个文件(如1.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),相当于在index.php中插入一句:require(./1.jpg)。由于后缀问题服务器无法解析该php语句,我们先上传a.txt,再上传.user.ini文件。先尝试在url后添加/upload.php.bak,发现直接下载了,我们打开下载的。.DS_Store文件泄漏。原创 2023-10-27 16:21:06 · 670 阅读 · 0 评论 -
CTFshow-web-红包题第七弹
前面一步用git_extract工具扫描,可以查看backdoor.php源码(但是我搜了很久也还是下载不来,从github上下载了,就不会了),如果用了git_extract工具,就可以得到Letmein后门。在url后面添加/.git/index,发现下载了,打开发现里面有个backdoor.php。发现/var/www下存在flag.txt文件,但是蚁剑中无法查看,利用高亮函数传参查看内容。利用dirsearch工具扫描,发现了一个/.git/index。原创 2023-11-23 14:40:53 · 135 阅读 · 0 评论 -
CTFshow-web-web14
发现是get传参,变量是c,c的值进入sleep函数等待,c值越大,等待时间越长。进入switch语句判断,所有的case判断完成后break退出,只有到case 3时,继续到case 6000000,然后echo一个$url,如果我们想看c=6000000的值,就要先构造c=3。访问secret.php文件,虽然没有内容,但是没显示报错,说明文件存在,但是读取方法不对,apache的默认网站根路径是 /var/www/html, 我们试一下读这个文件的内容。利用数据库的文件读写功能读取文件内容。原创 2023-11-03 13:29:21 · 324 阅读 · 0 评论 -
CTFshow-web-萌新专属红包题
尝试输入,发现一直都是报错,随便输入账号和密码报错,用户名admin仍然报错(猜了一下用户名可能是这个),我们尝试对此进行爆破,利用burp的intruder进行爆破,爆破出用户名和密码(前提是字典里存在用户名和密码的值),发现用户名是admin,密码是admin888。我们抓取登录那一瞬间的包,将他重发(repeater),将他重新发送,我们查看响应包,发现有个flag,但是里面的值跟提交的形式不一样,应该是加密了。利用工具进行解密,发现是base64的加密,flag出现。原创 2023-11-30 20:10:50 · 463 阅读 · 0 评论 -
CTFshow-web-红包题第二弹
在Linux的PHP环境下面,客户端(页面)如果对服务器上传文件,会先生成一个临时文件,存放在根目录下面的tmp文件夹下面,也就是/tmp目录下面.之后再对临时文件进行处理,比如是否将其存储到本地.无论服务器是否存在一个上传文件的请求,只要我们上传了一个临时文件,就一定会在该目录下面生成临时文件,但是会在生成后立刻删除.这个临时文件有一个特征,就是以php开头,后面跟6个随机字符,比如php123abc.因此我们可以使用通配符*对该文件进行匹配.通配符对上传的文件进行匹配,tmp目录写成?原创 2023-10-24 23:04:37 · 513 阅读 · 0 评论 -
CTFshow-web-wbe8
经过一系列payload的尝试后,发现本题过滤了空格、union、and、逗号等,这也意味着无法使用联合查询了,那么此时就需要我们编写脚本来解决。经过一系列payload的尝试后,发现本题过滤了空格、union、and、逗号等。由于SQL恒不成立,数据库查询不到任何数据,从而导致页面显示为空,显示如下。由于SQL恒成立,数据库将查询出表中的所有内容,并返回到前端,显示如下。首先确定注入点,输入以下payload使SQL恒成立。输入以下payload,使SQL恒不成立。代码跑一会,flag出现。原创 2023-10-12 15:34:25 · 100 阅读 · 0 评论