![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ctfshow
文章平均质量分 78
f0njl
这个作者很懒,什么都没留下…
展开
-
ctfshow 代码审计专题
重新过一遍,写了个wp。原创 2023-02-21 17:28:08 · 372 阅读 · 0 评论 -
ctfshow 大吉大利杯
复现一下。原创 2022-12-08 18:07:27 · 783 阅读 · 0 评论 -
ctfshow node.js专题
学习一下node,js。原创 2022-12-02 23:22:32 · 521 阅读 · 0 评论 -
ctfshow 月饼杯
ctfshow练习。原创 2022-12-01 21:13:25 · 820 阅读 · 0 评论 -
ctfshow 萌新web1-21
ctfshow 萌新题 web1-21原创 2022-07-29 15:22:33 · 1357 阅读 · 0 评论 -
ctfshow web入门-反序列化
反序列化中常用的魔术方法:__wakeup() //执行unserialize()时,先会调用这个函数__sleep() //执行serialize()时,先会调用这个函数__destruct() //对象被销毁时触发__call() //在对象上下文中调用不可访问的方法时触发__callStatic() //在静态上下文中调用不可访问的方法时触发__get() //用于从不可访问的属性读取数据或者不存在这个键都会调用此方法__set() //用于将数据写入不可访问的属性_.原创 2022-05-19 00:05:19 · 1212 阅读 · 0 评论 -
ctfshow web入门-ssrf
目录开头:web 351web 352web 353web 354web 355web 356web 357Web 358Web 359Web 360开头:简单了解一下SSRF。SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统原创 2022-05-13 21:14:56 · 746 阅读 · 0 评论 -
ctfshow web175-183
Web 175if(!preg_match('/[\x00-\x7f]/i', json_encode($ret)))刚开始不知道这句话是什莫意思,还在尝试之前的方法,发现没用。\xnn 匹配ASCII代码中十六进制代码为nn的字符[\x00-\x7f] 匹配ASCII值从0-127的字符所以ASCII值得0-127都被过滤了,select没法用了。只能盲注了,试一下1' and sleep(6)--+发现确实有延迟,所以可以考虑时间盲注。时间盲注:通过时间原创 2022-03-14 18:46:47 · 5999 阅读 · 0 评论 -
ctfshow web171-174
Web 171打开发现以下内容。看到了一个查询语句,于是认真看了一下。//拼接sql语句查找指定ID用户$sql = "select username,password from user where username !='flag' and id = '".$_GET['id']."' limit 1;";直接传入1,代码会变成select username,password from user where username !='flag' and id ='1' li原创 2022-03-05 12:20:23 · 4940 阅读 · 0 评论 -
ctfshow web入门128-132
Web 128<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-10-10 11:25:09# @Last Modified by: h1xa# @Last Modified time: 2020-10-12 19:49:05*/error_reporting(0);include("flag.php");highlight_file(__FILE__);$f1 = $_GET['f1']原创 2022-02-28 21:26:44 · 885 阅读 · 0 评论 -
MD5绕过
当php处理字符串时,会利用“==”或者“===”来比较。当“==”时:php把每一个以”0E”开头的哈希值都解释为0,所以要绕过"==",需要想办法让两边的不同数值经过md5加密后都为“0E”开头,这样当处理到这里的代码时,php会认为它们两个都为0,即可绕过。开头为0E(MD5值)字母数字混合类型:s878926199a0e545993274517709034328855841020s155964671a0e342768416822451524974117254469原创 2022-02-21 15:00:06 · 1329 阅读 · 0 评论 -
ctfshow 新春迎新赛 web2、web3
Web2<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2022-01-16 15:42:02# @Last Modified by: h1xa# @Last Modified time: 2022-01-24 22:14:02# @email: h1xa@ctfer.com# @link: https://ctfer.com*/highlight_file(__FILE__);session_star原创 2022-02-09 22:38:05 · 504 阅读 · 0 评论 -
ctfshow web123-127
目录Web 123Web 125Web 126Web 127Web 123<?php/*# -*- coding: utf-8 -*-# @Author: Firebasky# @Date: 2020-09-05 20:49:30# @Last Modified by: h1xa# @Last Modified time: 2020-09-07 22:02:47# @email: h1xa@ctfer.com# @link: https://ct原创 2022-02-08 22:55:47 · 3166 阅读 · 0 评论 -
ctfshow 新春迎新赛 热身和web1
一不小心在ctfshow上看了新春迎新赛,也就尝试做了一下,也算是检验自己这段时间以来的成果吧!热身看到代码本能感觉挺简单的,就一个eval函数,于是我便直接传入了system(‘ls’);没发现flag,于是又查看。想着用通配符发现没用,又用了?也没用。所以想到了另一种无参rce。首先查看了当前页面的变量,直接发现了flag,也算是误打误撞。Payload:?f= print_r(get_defined_vars());web1刚开始看到这原创 2022-02-07 02:22:32 · 904 阅读 · 0 评论 -
ctfshow—web151-160
目录Web 151-152Web 153Web 154Web 155Web 156Web 157-159Web 160Web 151-152直接上传文件,然后抓包改后缀再用蚁剑连一下,找到flag即可Web 153php文件无法上传。发现服务器是nginx,考点是上传.user.ini配置文件,upload文件夹自带一个index.php,使其预加载木马先后上传文件.user.ini和1.txt(注意抓包改名称)两个上传后访问/uplo原创 2022-02-04 02:16:38 · 1919 阅读 · 0 评论 -
ctfshow web108-112
目录Web 108Web 109Web 110Web 111Web 112Web 108ereg()函数用指定的模式搜索一个字符串中指定的字符串,如果匹配成功返回true,否则,则返回false。搜索字 母的字符是大小写敏感的。 ereg函数存在NULL截断漏洞,导致了正则过滤被绕过,所以可以使用%00截断正则匹配intval() 函数用于获取变量的整数值。intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer原创 2022-01-26 11:41:48 · 533 阅读 · 0 评论 -
ctfshow web102-107
目录Web 102-103web 104Web 105Web 106Web 107Web 102-103substr() 函数返回字符串的一部分此题中v2被去掉了前两位字符所以到时候给v2前加两个数字call_user_func函数php5下is_numeric可识别16进制,如0x2e,然后调用hex2bin转成字符串写入木马,但题目环境没配好,是php7,所以要另换方法。用伪协议写入,所以需要base64编码后转成16进制全是数字的字符串<原创 2022-01-26 10:16:41 · 3195 阅读 · 0 评论 -
ctfshow web39-74学习记录
web 39查看代码还是利用php:data伪协议,和38差不多Payload:?c=data://text/plain,<?php system('tac fla*.php');?>web 40直接给Payload1:?c=show_source(next(array_reverse(scandir(current(localeconv())))));通过货币信息(localeconv())取这个点(current())来到当前目录(scandir())原创 2022-01-15 22:29:18 · 417 阅读 · 0 评论 -
ctfshow-web29~38做题记录
Web 29题目过滤了flag,所以利用通配符来执行命令。Payload:?c=system('tac f*');Web 30查看源代码System函数不能用,可以用passthru、exec,shell_exec等函数,exec不能输出结果。特别说一下用exec时构造?c=exec(‘cp f* 1.txt’);(将flag.php中的内容复制给1.txt)访问1.txt,拿到flag。Web 31过滤条件: flag\system\php\cat\原创 2022-01-13 21:26:26 · 186 阅读 · 0 评论 -
ctfshow-web 信息收集篇
web 1直接查看源代码即可。(F12或Ctrl+u)web 2跟web 1相似,但只能用Ctrl+u。web 3直接F12,在响应中可以看到flag。web 4打开网址后什么都没发现,最后观察题目,在网址后加上/robots.txt,发现User-agent: *Disallow: /flagishere.txt在网址后加上/flagishere.txt即可得到flag。web 5根据题目为phps文件泄露,查看phps文件,下载即可拿到fl原创 2022-01-11 17:39:16 · 1002 阅读 · 0 评论 -
ctfshow we89-101
目录Web 89Web 90Web 91Web 92Web 93web 94Web 95Web 96Web 97Web 98Web 99Web 100Web 101Web 89明显需要绕过preg_match()利用数组绕过:Payload:?num[]=aWeb 90因为intval() 函数返回integer值,所以加小数即可绕过if判断且intval()运算后还为4476Payload:?num=4原创 2022-01-18 17:00:14 · 452 阅读 · 0 评论