ctf
小黑子不会打篮球
打摆子的大学牲
展开
-
记一次文件包含刷题(伪协议篇)
每种协议的具体用法可自行查阅,这里只做分析。原创 2024-11-09 19:58:11 · 737 阅读 · 0 评论 -
[SWPUCTF 2021 新生赛]Do_you_know_http
3.那我们就将这个数据包发给bp,进行修改。请求包加一个ip伪装X-Forwarded-For: 127.0.0.1。1.拿到题目,他让我们使用这个'WLLM'浏览器,那我们就用bp抓包,修改成User-Agent:WLLM。2.得到响应有个a.php文件,那我们就访问一下,发现请求权限不够,ip地址不对。4.这时得到secretttt.php文件,访问得到flag。很基础的一题,就是修改发送的数据包。原创 2024-09-17 16:47:08 · 496 阅读 · 0 评论 -
CTF之bp
链接: https://pan.baidu.com/s/1pvY6Rt9OzNHCDACfbC2gpA?从这段js代码我们可以发现定义了一个r={code: 'bugku10000'},而r.code=='bugku10000'又返回错误。意思就是只有密码正确了r才不等于bugku10000,响应就没有这段代码了,否则就会出现这端代码。所以我们从攻击结果设置这里,找到检索匹配,添加一个{code: 'bugku10000'}通过区分响应包里有没有{code: 'bugku10000'},就可以得到密码。原创 2024-08-02 00:11:19 · 219 阅读 · 0 评论 -
CTF之网站被黑
发现了/shell.php文件,访问一下,发现是一个后台管理登录页面。别无他法只能爆破喽,爆破后发现密码是hack。简单看一下网页和源码没发现什么明显漏洞。原创 2024-07-28 00:46:22 · 477 阅读 · 0 评论 -
CTF之easyupload
拿到题目发现是文件上传的漏洞,但是这个黑名单过滤的有点严格,无论是文件里还是文件后缀都不能出现php那我们就用<??>来进行绕过(注意这里要加个GIF89a或者GIP87a进行欺骗)但是后缀依然不能绕过怎么办?接下来就要学新知识了。原创 2024-07-14 23:59:37 · 329 阅读 · 0 评论 -
CTF之unseping
1.首先看题目可以知道是用POST传入参数从而达到系统查找,外边这个参数还进行了base64解码和反序列化编码,这又给我们上了一波难度。序列化:O:4:"ease":2:{s:12:"easemethod";s:4:"ping";s:4:"l""s";那我们就接着构造:这里涉及到了符号 / ,我们用printf和$()来绕过,注意这里php也要绕过。和__construct来调用构造的ping方法,接着通过$args来作为输入口进行命令的输入。使用""进行ls过滤的绕过。原创 2024-07-04 00:25:32 · 467 阅读 · 0 评论 -
CTF之Web_python_block_chain
然后再看看这里的51% 攻击,其实这里说的51%是指算力,也就是这种攻击需要攻击者具备全网51%的算力,因为这样才有机会使自己生成(挖出)区块的速度超过其他人,然后按区块链的规则:当出现分叉时,区块链的规则认最长的分链为主链,并舍去原有的链,就达到了撤销原来链上已经存在的交易,拿回该交易使用了的钱的目的,这里我的另一个理解就是可以使交易回滚,从而追回被盗的钱。0确认就同样的道理了,那就是不需要别人确认,就如我们生活中的一手交钱一手交货,不同的是生活中我们处于中心化社会,银行会帮我们确认。原创 2024-05-26 18:18:15 · 1121 阅读 · 0 评论 -
CTF之upload
那我们就使用hex()和conv()两个函数,将字符转换成16进制再转换成十进制,123' +(selecselectt conv(hex(database()),16, 10))+ '.jpg,但是发现变成科学计数法了,经过多次尝试发现当输出的数字超过12位后便会以科学计数法的方式输出。那么便抓包修改一下,我们上传一个图片格式文件,将名字里加个select,发现上传后的文件没了select这个字符串,那么应该就是存在文件名位置的sql注入了,而select应该是被过滤成空了。原创 2024-05-19 22:05:05 · 506 阅读 · 0 评论 -
CTF之love_math
这个题目简单看一下就知道要传参进行执行系统命令以达到找到flag的目的。这个题的绕过方法可以用到三个函数。但是又可以发现过滤了很多东西。下面解释一下这个payload。接着便是构造payload了。原创 2024-05-12 23:49:45 · 266 阅读 · 0 评论 -
CTF之留言板
题目就一个留言板,根据题目提示可以知道这个题存在xss漏洞,仔细观察应该与存储型xss有关,也就是将恶意代码保存到服务器端。得到flag%7B4529de53721bbf7e9b0401d47e0b2f1d%7D,其中%7B解码为{,接着找一个xss平台(https://xssaq.com/)用来接收,创建一个项目,然后把代码注入。接着便可以在xss平台接收内容了。原创 2024-05-05 18:20:37 · 683 阅读 · 1 评论 -
CTF之eval
_REQUEST变量是一个关联数组,它的键是表单元素的名称,值是用户输入的数据。通过$_REQUEST变量,可以访问表单中所有输入字段的值,不论它们是使用GET、POST还是COOKIE方法提交的。在PHP中,$_REQUEST是一个超全局变量,用于收集HTML表单提交的数据。如果代码中存在解析错误,则 eval() 函数返回 false。hello=show_source('flag.php')该字符串必须是合法的 PHP 代码,且必须以分号结尾。原创 2024-04-27 21:34:41 · 903 阅读 · 1 评论 -
CTF之本地管理员
盲猜一波账号admin,使用密码test123得到flag{3da7e7d140f5c345b2a314e9e82cb2c9}这里我们在提交的数据请求包里加一个x-forwarded-for: 127.0.0.1,伪造IP进行访问,发现提示变了。拿到题目随便登录一下发现提示IP禁止访问,请联系本地管理员登陆,IP已被记录.我们再看网页源码,发现了base64编码,解码得到test123。所以我们使用伪造数据包来源 IP。原创 2024-04-25 23:40:41 · 404 阅读 · 0 评论 -
CTF之变量1
至于下面那个正则表达式怎么绕过暂且不知,但是题目最上面告诉我们lag In the variable!那我们就传入全局变量globals()来看看,但是这里因题目过滤必须传入大写采用用GLOBALS。得到flag{57ec70b3b5537ccd0ee88502fae1c3cc}拿到题目发现是一个php代码,意思是用get方式获取args参数。(意思是flag就在变量中)。原创 2024-04-25 22:43:06 · 270 阅读 · 2 评论 -
CTF之你必须让他停下
我们可以用bp一个一个包拦截然后一个一个看,也可以在那个网页Ctrl+u 查看源码,然后一直刷新就可以得到flag了。查看网页源码,可以发现它说停下来你可以得到flag。这个网站一直在不停的刷新。原创 2024-04-15 19:49:30 · 161 阅读 · 0 评论 -
CTF之game1
得到flag{7c362f2db11f05b6fd3da4b2b3252760}对比sign发现 sign是由 zM + **** + == 构成。再拿一个sign去md5解密和base64解码一下发现。分数不同时不同的包差距在于 score和 sign。接着便改一下包把分数改成不可能有的比如999999。对比一下不同分数的包,发现。拿到题目,真不错先玩几把。base64编码一下。原创 2024-04-14 00:10:40 · 250 阅读 · 0 评论 -
CTF之comment
网站的登录框里有提示账号:zhangwei密码:zhangwei***(后三位要自己猜)用burpsuit抓包爆破发现密码为zhangwei666进去后就一个留言榜(目前没发现怎么用)扫一下网站发现git泄露。原创 2024-04-13 14:44:13 · 880 阅读 · 0 评论 -
春秋云境28512
试了很多写法最后还是发现payload为:?用 order by 数字 来判断字段发现order by 9成功。接着爆字段,发现爆出来的东西没一点关系(表爆出了一个没用的)分析一下就知道就是一个 ' 并且过滤符#被过滤了。原创 2024-04-08 23:14:25 · 556 阅读 · 3 评论 -
CTF之社工-初步收集
说已经20 了,那么他应该是2001年出生的,“前两天”那生日无非就是2月6日,根据中国人的传统补全0,那么就是20010206的生日,姓名就是mara。看了别人的文章发现那个不是密码是授权码,所以用qq邮箱登录了(但是有些***把授权码改了所以后面写题的人是登录不进去的)下面是网上以前登录成功的截图。没发现什么有用的信息那我们就去wireshark看看数据包喽(谁叫题目叫社工收集)时间多的可以爆破一下(反正我爆不出来),接着我们下载那个压缩包看看。过滤一下smtp发现了编码的user和pass。原创 2024-04-07 20:39:12 · 365 阅读 · 0 评论 -
CTF之alert
建一个文本文档把内容粘贴,然后把文本文档后缀改成html。拿到题目查看源码,找到注释的那一行复制。原创 2024-04-06 14:54:04 · 321 阅读 · 0 评论 -
CTF之矛盾
那我们就输入一个1后面接随便什么字符,因为php的弱比较将字符与数字进行比较的时候,会把字符转换成数字再比较,当转换到字符时后面便都为空了。这里要求输入的不是数字,并且输入要为1才打印flag。这一天就是php的弱比较“==”原创 2024-04-06 14:35:33 · 390 阅读 · 1 评论 -
CTF之GET和POST
学过php都知道就一个简单传参,构造payload:?what=flag得到。原创 2024-04-06 14:20:23 · 749 阅读 · 1 评论 -
CTF之计算器
这个题目让你输入验证码,又给你限制长度。直接找到js源码,得到flag。原创 2024-04-06 14:16:08 · 220 阅读 · 1 评论 -
CTF之滑稽
查看源码就得到了flag。原创 2024-04-06 14:06:12 · 170 阅读 · 0 评论 -
CTF之Flask_FileUpload
查看源码,发现注释告诉我们会运行python的文件,但是系统只能上传图片格式(这个是自己尝试知道的)上传查看源码得到 flag{c6d732debc82421a5e7aba831765e915}那我们就写一个python代码改成jpg或者png格式的文件。拿到题目就一个上传文件的网页。原创 2024-04-05 16:51:43 · 320 阅读 · 0 评论 -
CTF之Simple_SSTI_1和Simple_SSTI_2
flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../../').read() }}flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}flag={{config}}就得到了flag。第一题第二题都一样,都是简单的SSTI漏洞,这里告诉我们传入的参数是flag。然后一个一个目录查看发现flag有关信息在app目录下。原创 2024-04-05 15:17:37 · 329 阅读 · 0 评论 -
CTF 之Zhuanxv
UserServiceImpl.class反编译后代码中是对空格进行了过滤,而sql中对回车自动过滤, 因此我们可以将空格字符换成%0A(ascii码表示换行符)。User.class反编译后是一个Bean文件,UserLoginAction.class反编译后是登录验证逻辑文件,InitApplicationContext.class反编译后是类加载器文件。其中暴露了使用的数据库,数据库账号密码,且其中包含了user.hbm.xml等配置文件,同样我们将其下载出来。很可惜进来了还是没有一点线索。原创 2024-04-04 22:42:44 · 966 阅读 · 1 评论 -
CTF之Web_php_wrong_nginx_config
hint.php告诉我们:配置文件也许有问题呀:/etc/nginx/sites-enabled/site.conf。file=./..././..././..././..././etc/passwd&ext==php绕过。将爆出来的东西整理一下,发现location /web-img开启了目录浏览 autoindex on;先对网站进行目录扫描,发现/admin/和/robots.txt。因此 alias 后面的路径是从系统根目录开始的 所以加一个../在/var/www下找到了。原创 2024-04-04 19:56:01 · 824 阅读 · 1 评论 -
CTF之filemanager
上传一个空的文件,但是文件名一定要是’,extension='.jpg,因为原来的SQL语句不允许修改后缀名,对后缀名进行了限制,使用这个名字是为了是修改的文件后缀名为空。进行目录遍历一下,发现了/www.tar.gz,就一个压缩包,但是这个压缩包里便是这个网页的php代码备份,可以访问下载下来分析分析。首先会查询之前上传的文件是否存在,如果返回不为空,则修改成对应的文件名。在修改文件名的过程中,是存在漏洞的。对文件进行代码审计,发现漏洞在修改文件名的文件(rename.php)中。原创 2024-03-31 23:25:59 · 312 阅读 · 1 评论 -
CTF之wtf.sh-150
通过上面的分析:如果用户名是一段可执行代码,而且写入的文件是 wtf 格式的,那么这个文件就能够执行我们想要的代码。知晓评论发送的数据包的结构,在普通评论的基础上,进行路径穿越,上传后门sh.wtf,wtf后面要加%09,表示制表符,否在会被当做目录去解析。如果我注册的用户名就是一段可执行的代码,而且写入的文件也是wtf格式的,那么这个文件就能执行我们想要的代码。登录一个账号,刷新一下抓包,将username改成admin,token改成admin对应的。这是评论功能的后台代码,这部分也是存在路径穿越的。原创 2024-03-30 18:28:49 · 600 阅读 · 0 评论 -
CTF之i-got-id-200
我们猜测/cgi-bin/file.pl的路径是在/var/www/cgi-bin/file.pl,所以构造playload:?/bin/bash%20-c%20ls${IFS}/|列出bin下的文件,找到了/flag。并且把上传的文件复制一下贴在前面,并且把文件名和内容删除,在到下面添加一个ARGV。而perl上传代码使用了param()函数,的话就可能有漏洞了。拿到题目看了看源码试了下文件上传,都没什么用。再构造playload:/flag。原创 2024-03-29 22:02:17 · 307 阅读 · 1 评论 -
CTF之BadProgrammer
查看package.json文件,发现引用express-fileupload版本为1.1.7-alpha.4,此版本存在CVE-2020-7699,原型链污染漏洞。那再看看有没有隐藏了什么文件/static../(利用nginx配置错误,可以列目录:)访问http://xxxxx/static/js/flag.txt得到flag。不出意外,意外来了发现一个路径/static/,以及使用的nginx服务器。再使用python脚本进行污染生成flag.txt文件。拿到题目看不到注入点,只有看看源码喽。原创 2024-03-28 23:18:52 · 327 阅读 · 0 评论 -
CTF之babyweb
SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。例如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片等,利用的是服务端的请求伪造。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(比如struts2、SQli等)。看了一下大佬的wp,发现这个网站是存在一个ssrf.php文件的。原创 2024-03-28 22:19:36 · 412 阅读 · 0 评论 -
CTF之easy_web
尝试了目录遍历以及漏洞扫描但是没有什么卵用,抓了一下包发现是python,所以考虑一下SSTI注入。通过符号列表进行爆破,发现 / 也被过滤了,但是 ︷ 会被解析成 { ,︸ 会被解析成 }打开网站就一个输入框,按理来说这种类型就是注入类型的漏洞了,至于什么注入还不知道。然后就可以进行SSTI注入了。但是好像{{}}被过滤了。下面是可以注入的ssti。原创 2024-03-26 23:32:28 · 258 阅读 · 1 评论 -
CTF之unfinish
然后对username进行注入,尝试了1' or 2=2# ,1' or 2=2--+,1' and 2=2# ,1' or 2=2 --+,1' or '2'='2# .。等等都没有用,最后发现一个1' and '0 注入成功了回显了0,说明还是存在注入的,所以要好好利用这个0。来获得表了,可是这个语法只会得到0,那么我们就要改进一下了。现在难点来了,语句后面加不了注释符,导致我们之前很多盲注语句使用不了,因为无法闭合后面。用工具扫了一下,发现是sql注入漏洞并且注入点是username。原创 2024-03-25 22:08:51 · 349 阅读 · 0 评论 -
CTF之ics-07
利用Linux的一个目录结构特性。我们递归的在1.php文件夹中再创建2.php,访问1.php/2.php/…进入的是1.php文件夹。上传成功可以在http://....../uploaded/backup路径下查看到shell.php已经上传。可以构造id=1x9来满足(x可以是任何字符可以一个或多个)这个状态说明第一个和第三个php代码已经满足。接下来便是用post方法上传木嘛文件了(我这里用的工具是hackbar插件)拿到题就一个地方有响应(项目管理)接着便是用蚁剑连接了密码是cmd。原创 2024-03-24 23:04:41 · 337 阅读 · 1 评论 -
ctf之bug
@eval(_POST["aaa"])原创 2024-03-22 23:46:17 · 363 阅读 · 1 评论 -
CTF之wzsc_文件上传
这个代码是让服务器自己生成一个shell.php文件(自己生成的不会删除)并在shell.php文件中写入后面那一段宝贝(懂得都懂)。开发者在进行代码开发时常常倾向于认为代码会以线性的方式执行,但他们忽视了并行服务器会并发执行多个线程,这就会导致意想不到的结果。拿到题目一看就是文件上传漏洞,但是这个题目上传php文件以及其他我知道可以执行漏洞的文件都会被瞬间删除。接着便是利用大佬的python脚本对上传的m. php文件进行执行,以达到让服务器自己生成shell.php。brupsuit拦截发给攻击。原创 2024-03-22 21:22:18 · 694 阅读 · 1 评论 -
cft猫猫新
再用brupsuit拦截访问网页的/admin文件,将cookie设为得到的session,我的为session=eyJhZG1pbiI6MX0.Zfa2HQ.M11-OMpFWse8P5Rq3OAexDqGeYs便得到flag:catctf{Catch_the_c4t_HaHa}通过/proc/PID可以访问对应PID的进程内核数据,而/proc/self访问的是当前进程的内核数据。/proc/self/maps包含的内容是当前进程的内存映射关系,可通过读取该文件来得到内存数据映射的地址。原创 2024-03-17 18:26:23 · 939 阅读 · 1 评论