BugkuCTF~代码审计~WriteUp】的更多相关文章

第一题:extract变量覆盖 知识简介 extract()函数语法: extract(array,extract_rules,prefix) 参数 描述 array必需. 规定要使用的数组. extract_rules可选. extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突.对不合法和冲突的键名的处理将根据此参数决定. 可能的值: EXTR_OVERWRITE - 默认.如果有冲突,则覆盖已有的变量. EXTR_SKIP - 如果有冲突,不覆…
小明学习代码审计writeup 题目来自hackinglab.cn 综合关 题目地址:http://lab1.xseclab.com/pentest6_210deacdf09c9fe184d16c8f7288164f/index.php 访问题目地址得到如下源码: Please Reset Your Password Then Get your flag! <a href="./resetpwd.php"></a> 根据链接的复制访问resetpwd.php,并…
最近,开始记录一篇关于 Android 逆向分析的 WriteUp 方便有需要的人学习,也欢迎大家相互交流, 发现不 一样的世界. 一. signin 考点:反编译.静态分析 Topic Link:https://ctf.bugku.com/files/109fa055c682e810684427c123a0833b/sign_in.zip signin 软件介绍: 1. 开始界面 2. 当输入的字符串有误时,会显示:Try again. 题目分析: 1. 刚开始直接使用了 Android ki…
1.签到 get flag: Qftm{You should sign in} 2.这是一张单纯的图片 查看图片十六进制 提去特殊字符串进行解码 get flag: key{you are right} 3.隐写 解压压缩包得到一张图片 打开图片发现只有一个“Bu“可能缺少了什么东西,尝试更改其宽高,得到flag PS:从第二行开始,前四位是宽,后四位是高. get flag: BUGKU{a1e5aSA} 4.telnet wires hark打开数据包进行分析,根据提示对telnet进行过滤…
WEB 1.签到题 nctf{flag_admiaanaaaaaaaaaaa} 右键查看源代码或按f12即可. 2.这题不是web nctf{photo_can_also_hid3_msg} 下载图片并用winhex打开,在末尾发现flag. 8.你从哪里来 nctf{http_referer} 考点:referer来源伪造 给请求加上referer: https://www.google.com 10.文件包含 构建file=php://filter/read=convert.base64-e…
攻防世界 WEB 高手进阶区 HCTF 2018 warmup Writeup 题目介绍 题目考点 PHP代码审计 Writeup 打开 http://220.249.52.134:37877 常规操作 F12 看源码 url 输入 http://220.249.52.134:37877/source.php 得到 <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { /…
extract变量覆盖: 相关函数: extract()函数:从数组中将变量导入到当前的符号表.把数组键名作为变量名,数组的键值作为变量值.但是当变量中有同名的元素时会默认覆盖掉之前的变量值. trim():去除字符串两边的空白符或其他预定义字符. file_get_contents():将整个文件内容读入一个字符串.注意该函数与php://input伪协议可以读取$_POST[]的值 漏洞产生原因: extract()函数当只有一个参数时,默认的第二参数是:EXTR_OVERWRITE,如果有…
PHP代码审计 01 题目URL:http://www.whalwl.xyz:8017 提示:源代码有泄露 既然提示有源代码泄露,我们就先扫描一遍. 精选CTF专用字典: https://github.com/gh0stkey/Web-Fuzzing-Box/blob/main/Dir/Ctf.txt 推荐使用7kbscan进行扫描, https://github.com/7kbstorm/7kbscan-WebPathBrute 线程调成1,然后加载字典,找到svn 那应该就是SVN源代码泄露…
下载程序后发现是输入1-8数字中的一位 至于怎么玩,我到现在都没弄懂 不多说,直接拖入Ollydbg 搜索 分析了一下字符串,发现有一个显示flag的字符串 双击过去看看,发现类似于一个函数. 接下来的思路就很简单了,分析程序输入数字后怎么判断的,在到跳转点上修改跳转到这个flag的函数里面去 经过反复断点调试 最终找到了输入%d 在此处下一个断点,然后慢慢单步走,找个跳转命令 我们可以看到,找到一个跳转实现的地方 jle short 0123F560 修改此汇编成jle long 0123E9…
还是跟上篇一样.拿别人比赛的来玩一下.  0x01 预留后门 连接方式: 0x02 后台登录口SQL注入 admin/login.php 在func.php当中找到定义的check_login函数 很明显看到没有过滤直接带入. 如右侧的可以看出来只是进行了简单的替换为null.所以直接重写即可bypass  payload如下: id?=1 a and nd updatexml(1,concat(1,(selselectect user()),1),1) 0x03 任意文件上传 据说比赛当中是弱…
题目: 基础: 所需基础知识见变量覆盖漏洞[1]  分析: 现在的$a=’hi’,而下面的函数需满足$a=’jaivy’才可以输出flag,那么需要做的事就是想办法覆盖掉$a原来的值. 那么出现的提示是,外部get一个参数,赋值为$$key = $value,即通过外部赋值这句覆盖前面的$a的值,当外部输入为:a=jaivy时,该语句为:$a = jaivy,则与一开始目标对应,满足条件. Payload: 如有错误,请及时指正,谢谢!…
题目: 所需基础知识: 分析: 思路:由于目的是要拿$flag的值,所以可以得出最终会输出两个变量,而$flag的值在红框那行,被我们自己post的值给覆盖,所以flag值肯定不会在这出来,那么只剩下$_200变量,我们必须在flag被自己post的值覆盖前,将flag值传给别人,输出,才能得到flag值,即_200 = flag. 运行到这时,外部get的值为:_200=flag. 赋值后,$_200=$flag,刚好将flag的值覆盖掉原来的_200的值. Payload: 如有错误,请及时…
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{We1c0m3_To_G33k_2O!6} 并且可以知道后边的题的Flag格式为 SYC{} 2.xiao彩蛋 题目提示关注微博,从Syclover Team 博客(http://blog.sycsec.com)可获取到三叶草小组微博,私信发送flag后即可得到. 3.闪的好快 一开始拖进PS分帧数…
题解部分:Misc(除misc500).Web(除Only Admin.Only admin can see flag.有种你来绕.试试看).Reverse.Pwn.Mobile Misc( Author: L1B0 ) What is that?(50) 题目是一张图片,手指指向下提示图片下面还有内容. 第一种方法:Windows环境下可以用010editor直接修改png的高而不会报错,因为windows的图片查看器会忽略错误的CRC校验码.所以我们可以直接修改png的高,如下图.改完保存后…
Day24 welcome to bugkuctf http://123.206.87.240:8006/test1/ 本题要点:代码审计,PHP://filter ,  php://input ,  base64解密,反序列化  …
作者:agetflag 原文来自:ISG 2018 Web Writeup ISG 2018 Web Writeup CTF萌新,所以写的比较基础,请大佬们勿喷,比赛本身的Web题也不难 calc 首先看到题目后,在输入框中测试了一下,发现可以被执行 首先猜想是不是ssti,模板注入,但是平常遇到的模板注入题目中,python的居多,php的没怎么遇到过,有点怀疑如果是php的模板注入的话也不一定能搞得出来,这个时候扫一下目录 python dirsearch.py -u http://202.…
#简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1 3)先预计后台表名为fla…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 点开链接,同样是道代码审计的题目,我们可以来一起看看 $num=$_GET['num']; if(!is_numeric($num)) { echo $num; if($num==1) echo 'flag{**********}'; } 我们看的传入了一个参数num,这里涉及道一个…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 打开链接,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_POST['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是通过post传入一个参数what,如果what的值等于fl…
前言 写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~ 点开链接一看,就知道是道代码审计的题目,不过这题比较简单,我们一起看一下这段代码 $what=$_GET['what']; echo $what; if($what=='flag') echo 'flag{****}'; 意思是传入了一个参数what,当what的值等于flag,就会…
  Day2   flag.php(点了login咋没反应)   地址:http://123.206.87.240:8002/flagphp/      …
CTF-安恒十二月月赛部分writeup 这次题目都比较简单蛤,连我这菜鸡都能做几道. WEB1-ezweb2 打开网站,啥也没有,审计源代码,还是啥都没有,也没什么功能菜单,扫了一下目录,扫到了admin.php,但是提示:你不是管理员.好吧,抓个包看看 解一下码--: 将user改为admin,发现直接跳转到了admin.php页面. 这个框试了一下是可以执行命令的,ls 但是ls / 却错误,ls -l 也是错误,应该是过滤了空格通过 $IFS 可以绕过 cat /ffLAG_404 也就…
记一次参加CTF比赛翻车记!   开始还是挺有信心的,毕竟也是经常打一些CTF锻炼,然而比赛发现大佬们平时不显山不漏水的一比赛全出来了!赛后看了一下各题的writeup发现自己的确技不如人啊!借鉴一个案例拿出来分析一下! 正言:   这是入口界面登录+注册,开始注册登录看了一下   有了一个简单的提示:你好啊,但是你好像不是XDSEC的人,所以我就不给你flag啦~~ 然而成功误导了我,百度了一番找到XDSEC官网,拿XDSEC的队员名称注册了一番,并无卵用!然后爆破目录.并无任何发现. 思路断…
每次看别人的Writeup都有一种感觉,为什么有了WriteUp我还是不会,每次都打击自己的积极性,所以自己尝试写一篇每个萌新都能看懂的Writeup. 0x01 天下武功唯快不破 题目提示 : 看看响应头 既然让看响应头,那就看一下响应头. F12 -> 点击network -> 查看响应头 我们看到了响应头里面有一个属性FLAG.用base64编码了. 解码后是 P0ST_THIS_T0_CH4NGE_FL4G:Q3OXSguWO 就是说我们要用Post发送一条请求,然后再看页面的注释 :…
title: BugkuCTF--wp(旧版) date: 2020-4-25 tags: CTF,比赛 categories: CTF 比赛 Web篇 0x001-web2 解题思路: 1.直接按F12即可找到 0x002-计算器 解题思路: 1.按下F12发现它对输入框的长度进行了限制,先将长度调大 2.在计算给出的题点击验证即可. 0x003-web基础 $_GET 解题思路: 1.提交数据方式为GET传参,所以直接what=flag即可 参考playload:http://123.206…
攻防世界 WEB 高手进阶区 csaw-ctf-2016-quals mfw Writeup 题目介绍 题目考点 PHP代码审计 git源码泄露 Writeup 进入题目,点击一番,发现可能出现git源码泄露 url输入 http://220.249.52.134:56659/.git/ 发现果然有git源码泄露 使用 GitHacker 获取源码 看到有flag.php, 尝试打开查看,里面啥也没 打开index.php代码审计 了解assert()函数的使用: 总结一句话就是:assert(…
日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在朋友的指点下做了一些简单的题目.记得上次去观摩0CTF&0Con得到的点拨:在每一次比赛结束后都要做总结.整理做出来的题目,理解没有做出来的题目.这样才会有所长进.因此打算在blog上开一个WriteUp.记下来搞定的,待未解出题有大牛放出WriteUp后,理解一下,并贴于此. 本次题目列表: 下面…
2016年5月28号(正式比赛) 有选择题和实践题,俩队员在弄选择题时,我去拿了web1的一血. 0x01 web 是一道代码审计题,发包,返回了源代码: <?php if (isset($_GET['view-source'])) { header('Location: http://challenge1.xa.honyasec.com/index.php'); show_source(__FILE__); exit(); } if (isset($_POST["submit"…
1.Sign 题目:Good Luck!flag{X-nuca@GoodLuck!} Flag直接写在题目上了,flag{X-nuca@GoodLuck!} 2.BaseCoding 提示:这是编码不是加密哦!一般什么编码里常见等号? 题目:这一串字符好奇怪的样子,里面会不会隐藏什么信息?http://question1.erangelab.com/ Base64-- 访问后得到一串含有等号的字符,然后base64解码得到flag 3.BaseInjection 提示:试试万能密码 题目:不知道…
一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中sql语句会直接传入php自带的函数传入数据库执行,但在实际的软件项目中,通常以面向对象的思想进行编程,则会涉及各种形式的封装,调用,以及不同风格的框架,在这个条件下,只…