
CTF—web
web
怪味巧克力
安全技术爱好者:https://www.cnblogs.com/Jleixin/
展开
-
[CISCN2019 华东南赛区]Double Secret
0x01进入页面如下提示我们寻找secret,再加上题目的提示,猜测这里有secret页面,我们尝试访问,结果如下根据它这个话的意思,是让我们传参,然后它会给你加密,我们试一下发现输入的1变成了d,我们尝试增加输入参数的长度,然后就出现了下图的结果报错了,直接源码泄露,然后我们看一下标记处0x02代码如下:File "/app/app.py", line 35, in secret if(secret==None): return 'Tell me you原创 2020-07-18 14:54:58 · 1899 阅读 · 0 评论 -
[NPUCTF2020]ezlogin
0x01首页如上,是一个登录的页面,而且这个页面是有时间限制的,超过一定时间没登录就需要刷新页面重新登录。我们抓包看看登录的时候一个session只能存在一定的时间,通过抓包的内容来看,这里要用到Xpath的知识点关于Xpath参考https://www.cnblogs.com/backlion/p/8554749.htmlxpath注入主要有两种,一种是普通的注入,另外一种是布尔注入。普通注入对应union注入,使用|来完成和union类似的功能,布尔注入则是布尔盲注。这里使用大佬的脚本爆破原创 2020-07-16 21:17:13 · 1285 阅读 · 0 评论 -
[BJDCTF 2nd]假猪套天下第一
0x01拿到题目进去,首页如下我们如果以admin账号登录,会弹框提示我们不是admin然后我们随意登录看看什么情况,结果可以登录进去,如下图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FqDvqpgT-1594868368495)(https://img2020.cnblogs.com/blog/2010397/202007/2010397-20200716105521025-563704932.png)]查看源码没有看到什么有价值的信息,我们重新登录抓包看原创 2020-07-16 10:59:49 · 531 阅读 · 0 评论 -
[De1CTF 2019]SSRF Me
0x01题目给出了源码,我们看一下源码#! /usr/bin/env python#encoding=utf-8from flask import Flaskfrom flask import requestimport socketimport hashlibimport urllibimport sysimport osimport jsonreload(sys)sys.setdefaultencoding('latin1')app = Flask(__name__)s原创 2020-07-14 17:59:34 · 220 阅读 · 0 评论 -
[极客大挑战 2019]BuyFlag
0x01进入页面如下结合题目buyflag的提示,我们点击payflag看看查看一下源码发现端倪0x02if (isset($_POST['password'])) { $password = $_POST['password']; if (is_numeric($password)) { echo "password can't be number</br>"; }elseif ($password == 404) { echo "Password Right!原创 2020-07-14 10:09:55 · 436 阅读 · 0 评论 -
[SUCTF 2018]GetShell
0x01进入题目有一个上传页面那看来就是要上传shell,然后来查看flag了。看一下页面给的代码if($contents=file_get_contents($_FILES["file"]["tmp_name"])){ $data=substr($contents,5); foreach ($black_char as $b) { if (stripos($data, $b) !== false){ die("illegal char")原创 2020-07-12 17:45:22 · 1587 阅读 · 0 评论 -
[GXYCTF2019]Ping Ping Ping
0x01拿到题目进入如下:需要加上变量到这里其实就已经很明确考点是什么了,就是考察的命令执行中的绕过先试试命令发现ls命令可以执行,输出结果为flag.php和index.php0x02发现了两个文件,试着读取一下发现空格被过滤,绕过空格的方法(仅使用于linux系统)$IFS${IFS}$IFS$数字 < <> {cat,flag.php} 经过尝试,发现第三个可以绕过空格,结果如下,这是我们查看index.php的结果|\'|\"|\\|原创 2020-07-12 10:28:50 · 554 阅读 · 0 评论 -
[极客大挑战 2019]Secret File
0x01进入页面如下看不到什么东西,所以查看源码源码中发现有一个链接到另一个页面,原页面为黑色看不到链接,所以我们转到链接给的页面有一个按钮,点击看看发现点击之后直接跳到了end.php页面,查看源码也没有什么有用的东西,应该是时间过短然后就跳转,所以我们用抓包截断一下,发现结果如下验证了我的想法,存在这个页面,直接进去看看0x02<html> <title>secret</title> <meta charset="UT原创 2020-07-11 15:27:17 · 615 阅读 · 0 评论 -
[HCTF 2018]admin
前言:最近在BUUCTF刷题,参照师傅们wp后复现一下0x01拿到题目后进去如下界面发现有登录和注册界面,相比是要登录后才能查看想要的信息。查看页面源代码,看看有没有上面提示,界面如下提示你不是admin,到这里基本上主要的方向已经有了,就是要以admin用户登录进去,才能查看到flag0x02一,弱密码首先尝试了一下弱密码爆破,结果成功进入,密码是123,然后成功看到flag二,Unicode欺骗假设我们不知道admin密码,或者是比较复杂的密码,然后我们注册一个用户,登录进去原创 2020-07-11 12:14:49 · 613 阅读 · 0 评论 -
0ctf_2016 _Web_unserialize
0x01拿到题目第一件事是进行目录扫描,看看都有哪些目录,结果如下:不少,首先有源码,我们直接下载下来,因为有源码去分析比什么都没有更容易分析出漏洞所在。通过这个知道,它一共有这么几个页面,首页登录页面,注册页面,update更改信息页面,这几个页面是我们能够直接接触到的,那想必flag应该在另外几个页面中,稍后我们分析。先来看看网站页面都是什么样子。登录页面:注册页面:更改信息页面需要我们先登录,那我们就先随便注册一个,然后进去看看到这里,基本上几个页面要进行的基本操作我们知道原创 2020-07-09 12:14:59 · 3183 阅读 · 2 评论 -
网鼎杯_2018 _Web_fakebook
0x01进入页面如下,我们发现有两个按钮,login和join一般第一步我们应该是先对网站进行扫描,看看有没有扫描目录和文件,但是我在扫描的时候发现返回的状态码全是200,显然是做了手脚,但是这里我们还可以通过返回的页面长度来判断,因为不存在的页面都重定向到一个页面,发现存在robots.txt和flag.php,查看flag.php什么也看不到,那么查看robots.txt,结果如下提示我们有备份文件,我们下载下来,代码如下:<?phpclass UserInfo{ pu原创 2020-07-09 00:26:06 · 270 阅读 · 0 评论 -
CISCN 2019-ikun
0x01进去网址,页面如下:刚开始有个登陆和注册的按钮,上图是我已经注册后登陆成功后的页面,我们发现在图的左下角给了一个关键的提示,购买LV6,通过寻找我们发现页面数很多,大概500页,一个一个找不上办法,所以我们用脚本去寻找LV6所在页面,脚本如下:import requestsr = requests.session()url = "http://220.249.52.133:52610/shop?page="for i in range(0,1000): re = r.get(原创 2020-06-15 14:46:13 · 786 阅读 · 1 评论 -
wtf.sh-150
前言:最近在刷ctf题,在理解了大佬们的wp后自己做完之后,从头到尾把思路过了一遍,做次记录为以后复习和打比赛做准备,同时也希望能帮到别人。0x01进入网址,发现是一个论坛,有注册,登录和发表的功能,初步猜测应该是可以利用账号进行获取flag,我们先顺着页面向下找一找,看有没有什么提示信息,没有什么发现,然后路径扫描试试,发现有一个post.wtf路径存在路径穿越漏洞,能够获取网站的源码,所以我们试着用这个进行网站源码的获取进入页面向下找找看有没有什么有没有有用的东西,一堆源码,太花时间,所以我原创 2020-06-06 13:14:22 · 352 阅读 · 1 评论 -
bug-xctf
0x01进入页面,发现有登陆界面,有注册,有找回密码。我们先试试,所以这里我们先注册一个用户注册成功,那么我们登陆看看有没有什么值得关注的地方看我箭头标的地方,第一个提示我们的用户是123,然后还有其他的几个功能,这几个其他的功能都可以进,唯独第二个Manage无法进去,提示信息如下所以,我们不是admin用户,那么如何登陆admin用户呢?首先注册肯定不行,因为账号已存在,那么我们怎么搞到admin的密码呢?还有一个功能我们忽略了,那就是找回密码,我们进去看看到这里,思路就是我们进原创 2020-06-04 19:02:48 · 388 阅读 · 0 评论 -
Cat
0x01首先这道题打开之后是一个页面,能过提交参数,题目提示我们这里输入域名这里我们尝试输入域名,比如baidu.com等,然后页面没有任何反应,那接下来我们试着输入百度的ip试试,通过ping www.baidu.com找到百度的ip结果如下:我们发现这里输入的应该是IP地址,那我们再试试127.0.0.1到这一步,我们可能都想到这里能不能执行命令呢?我们试试127.0.0.1 | ls可见这里无法执行命令0x02在?URL=传参这里,传入的是url编码之后的值,这里我们让它进行原创 2020-06-01 14:21:49 · 197 阅读 · 0 评论 -
shrine
介绍模板其实就是对于传入的数据进行解析,然后生成html文件,然后在返回给浏览器进行展示,而这其中就用到了模板渲染和模板引擎模板注入的根本原因就在于客户端向服务器传输的参数被解析,由于模板中有较多函数,所以,很多情况下模板注入可以导致远程代码执行,模板注入大概分为这几种:客户端模板注入、服务端模板注入、模板引擎注入。在本题中就是flask/jinja模板注入0x01拿到题目后发现给出了一段代码import flaskimport osapp = flask.Flask(__name__)原创 2020-05-28 17:20:51 · 569 阅读 · 0 评论 -
supersqli
0x01拿到题目后,发现是单引号报错字符型注入order by 2的时候页面正常回显,order by 3的时候页面出错,所以我们知道只有两个字段。接下来union联合查询,发现select被过滤了所以我们需要绕过select的过滤,下面有几种方法0x02堆叠查询+预编译我们发现这里可以执行多sql语句,所以我们可以采用堆叠查询,那我们查询表名,结果如下:查询表名中的列名,结果如下:所以我们找到flag在第一个表中,那么接下来我们要查看flag中的内容,但是这里select被过滤了原创 2020-05-27 21:28:34 · 4574 阅读 · 1 评论 -
python_template_injection
0x01漏洞介绍Python Web 模板引擎1.Jinja22.Tornado.template3.Django.templateornado 中模板渲染函数在有两个:1.render2.render_stringFlask 中模板渲染函数也是有两个1.render_template2.render_template_stringrender_template_string函数在渲染模板的时候使用了%s来动态的替换字符串,在渲染的时候会把**{{}}**包裹的内容当做变量解析替换。原创 2020-05-26 09:44:17 · 2861 阅读 · 0 评论 -
web_warmup
0x01进去以后一个笑脸,哈哈哈接下来我们查看源码发现注释部分提示我们有个source.php,我们查看一下,结果如图发现源代码<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>原创 2020-05-25 23:15:41 · 448 阅读 · 0 评论 -
Web_php_include
知识点:1.strstr():定义和用法:strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。该函数是区分大小写的, stristr() 函数不区分大小写。语法strstr(string,search,before_search)参数描述string必需。规定被搜索的字符串。search必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。before_searc原创 2020-05-25 08:28:36 · 4364 阅读 · 4 评论 -
Web_php_unserialize
前言:看到好的知识点就喜欢记录下来,一是为了方便自己以后复习,二是也能帮助大家了解知识点知识点:1、__construct():当对象创建(new)时会自动调用。但在 unserialize() 时是不会自动调用的。(构造函数)2、__destruct():当对象被销毁时会自动调用。(析构函数)3、__wakeup():unserialize() 时会自动调用。首先拿到题目看到给出一段PHP源码<?php class Demo { private $file = 'inde原创 2020-05-25 00:21:30 · 3406 阅读 · 7 评论