随笔分类 -  CTF

摘要:GCC 中使用以下参数设置 Canary: -fstack-protector 启用保护,不过只为局部变量中含有数组的函数插入保护 -fstack-protector-all 启用保护,为所有函数插入保护 -fstack-protector-strong -fstack-protector-expl 阅读全文
posted @ 2020-11-01 23:07 LuoSpider 阅读(991) 评论(0) 推荐(0)
摘要:前言 溢出攻击的本质在于冯·诺依曼计算机模型对数据和代码没有明确区分这一先天性缺陷。因为攻击者可以将代码放置于数据区段,转而让系统去执行。 NX缓解机制开启后,使某些内存区域不可执行,并使可执行区域不可写。示例:使数据,堆栈和堆段不可执行,而代码段不可写。 本次实验基于pwm入门实验1的延伸:htt 阅读全文
posted @ 2020-11-01 17:14 LuoSpider 阅读(1633) 评论(0) 推荐(0)
摘要:实验的缓冲区溢出源码: // 1.c #include<stdio.h> void func() { char name[0x50];//0x100大小的栈空间 read(0, name, 0x100);//输入0x200大小的数据 write(1, name, 0x100); } int main 阅读全文
posted @ 2020-10-30 12:27 LuoSpider 阅读(2308) 评论(0) 推荐(0)
摘要:基本信息查询 Stack:这里没有开启Stack保护,如果开启的话会在栈中的返回地址前放一个随机值,如果被覆盖,程序就会报错退出 NX:没有开启,如果开启的话就不能让IP寄存器指向堆、栈 这里显示这是一个ELF32位的程序 运行后发现需要input canary(栈保护) 当启用栈保护后,函数开始执 阅读全文
posted @ 2020-10-29 19:14 LuoSpider 阅读(258) 评论(0) 推荐(0)
摘要:安装: sudo apt install checksec 介绍: 1.Relro:Full Relro(重定位表只读) Relocation Read Only, 重定位表只读。重定位表即.got 和 .plt 两个表。 2.Stack:No Canary found(能栈溢出) Canary, 阅读全文
posted @ 2020-10-28 22:58 LuoSpider 阅读(8656) 评论(0) 推荐(0)
摘要:下载附件,解压后有一个加密文件和rsa.py代码如下: flag = open('flag.txt','r').read() N = 221 e = 5 enc = b'' for i in flag: enc += bytes([pow(ord(i),e,N)]) encrypt = open(' 阅读全文
posted @ 2020-10-27 15:14 LuoSpider 阅读(301) 评论(0) 推荐(0)
摘要:打开页面,发现只有一个登录框,我们进行注入,使用burpsuite的fuzzing获取登陆的payload 使用页面登录,发现只有一个页面可以打开,打开后提示身份信息有问题 这时候发现了一个参数m,fuzz后发现过滤了php|base64,我们换成大写绕过获取页面源码 将输出的字符串base64解码 阅读全文
posted @ 2020-10-27 12:08 LuoSpider 阅读(553) 评论(0) 推荐(0)
摘要:进入login.php页面,F12后发现了 按照文本的提示,我们get传递一下debug参数 拿到login.php源码: <?php ob_start(); ?> <?php if(isset($_POST['usr']) && isset($_POST['pw'])){ $user = $_PO 阅读全文
posted @ 2020-10-23 15:41 LuoSpider 阅读(282) 评论(0) 推荐(0)
摘要:进入页面,发现按钮点了没有反应,切换页面都提示要先注册 发现注册不了,这时候查找了robots.txt文件,发现了.git文件夹 这是.git泄露了,使用GitHack把文件下载下来 经过查看发现这里面需要用到config.php文件和api.php文件 审计api.php代码: <?php req 阅读全文
posted @ 2020-10-23 12:35 LuoSpider 阅读(1161) 评论(0) 推荐(0)
摘要:进入页面,发现只有一个界面可以点击,发现了一个链接: http://220.249.52.133:34187/index.php?page=index 发现在页面尾部打印了index,这很像php的函数 include($page); 尝试文件包含: 接着构造一下可执行的命令 http://220. 阅读全文
posted @ 2020-10-22 23:58 LuoSpider 阅读(309) 评论(0) 推荐(0)
摘要:fuzz payload库:https://github.com/fuzzdb-project/fuzzdb/blob/master/attack/sql-injection/detect/xplatform.txt 打开Burp Suite,可以先开代理抓一个正常请求包,然后转到Intruder模 阅读全文
posted @ 2020-10-22 19:46 LuoSpider 阅读(696) 评论(0) 推荐(0)
摘要:在登录和注册页面中fuzz,发现注册界面可以反复注册一个用户 尝试覆盖admin和root之类的用户,发现都是普通用户,这个bug目前没有可利用的地方 最后在忘记密码的界面找到了注入点,这是一个post注入,使用sqlmap进行爆库 python sqlmap.py -u "http://220.2 阅读全文
posted @ 2020-10-22 19:07 LuoSpider 阅读(117) 评论(0) 推荐(0)
摘要:首先提交百度的域名发现没有反应,接着提交本地的ip发现反馈了一个ping的本地ip记录 首先使用管道符号执行ls命令,得到的回显是Invalid URL,在尝试后发现过滤了许多符号,只保留了字母数字和@小数点等 127.0.0.1 | ls 传递%80会出现报错,url编码使用的是16进制,80也就 阅读全文
posted @ 2020-10-22 17:13 LuoSpider 阅读(203) 评论(0) 推荐(0)
摘要:进入页面,首先注册一个用户,发现用户页面存在注入 测试发现过滤了空格|0X(16进制),使用/**/或者++替换空格进行注入 爆库名: SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。 阅读全文
posted @ 2020-10-22 15:20 LuoSpider 阅读(273) 评论(0) 推荐(0)
摘要:进入页面,发现找不到任何提示 最后发现了.git文件,使用GitHack把文件下载下来 .git文件夹 .git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西 打开index.php文件,以下是其中的php代码 <?php if (isset 阅读全文
posted @ 2020-10-18 23:32 LuoSpider 阅读(192) 评论(0) 推荐(0)
摘要:首先进入页面,发现是python代码,整理如下: import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os.environ.pop('FLAG') @app.route('/') def index(): r 阅读全文
posted @ 2020-10-17 17:43 LuoSpider 阅读(727) 评论(0) 推荐(1)
摘要:打开网页发现有几个目录,整理后: http://220.249.52.133:35356/file?filename=/flag.txt&filehash=ae495bad95220a5138f3437fb9919a29 flag in /fllllllllllllag http://220.249 阅读全文
posted @ 2020-10-16 21:24 LuoSpider 阅读(258) 评论(0) 推荐(0)
摘要:1.什么是phps文件? phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。 首先访问 index.phps获得代码: not allowed! "); exit(); } $_GET[i 阅读全文
posted @ 2020-10-16 19:22 LuoSpider 阅读(228) 评论(0) 推荐(0)
摘要:代码: <?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; function encode($str){ $_o=strrev($str); //字符串倒序 // echo $_o; for($_0 阅读全文
posted @ 2020-10-16 17:53 LuoSpider 阅读(101) 评论(0) 推荐(0)
摘要:下载附件,打开后发现有乱码 使用网页打开后发现是一个输入框 我们把最后的eval()函数换成console.log()过滤一下乱码 再重新排版一下得到: function $(){ var e=document.getElementById("c").value; if(e.length==16)/ 阅读全文
posted @ 2020-10-16 11:22 LuoSpider 阅读(290) 评论(1) 推荐(1)