ctf

CTF学习-eric靶机练习:使用git tools获取敏感目录,提权

假装没事ソ 提交于 2020-01-28 18:59:45
Kali渗透测试-靶场练习eric 实验: Kali的IP:192.168.1.11(不同的机器配置不同) 靶机IP: 192.168.1.6(动态ip) 操作步骤 靶机下载: https://www.vulnhub.com/entry/sp-eric%2C274 下载的7z压缩包,解压后为eric.ova,还原靶机,这里我开始使用vmware还原,失败,我又安装的Virtual Box,还原成功; 打开Kali,执行 查看局域网内主机状态(192.168.1.11为我的攻击虚拟机Kali的IP): nmap -sP 192.168.1.11/24 找到靶机IP:192.168.1.6 4. 查看端口: nmap -A 192.168.1.6 开放了22和80端口,查看80端口对应的网站 5. 网站目录枚举: dirb http://192.168.1.6:80/ 6. 发现有/.git,/admin.php,/upload/等敏感目录, admin有登录输入框,没发现注入点; /upload没有访问权限; 尝试利用.git泄露敏感密码这个漏洞 这里使用GitTools工具下载这个网站对应的源码 GitTools下载 7. 下载网站源码 切换到下载的目录下的Dumper文件夹,输入以下命令,把源码下载到当前目录的dest目录下 ./gitdumper.sh http://192

[极客大挑战 2019]EasySQL CTF复现

自闭症网瘾萝莉.ら 提交于 2020-01-27 22:53:31
前言 之前复现了一下极客大挑战2019的Havefun感觉非常的简单,应该是我没有参加极客大挑战把,对这些题没啥印象。复现完Havefun之后接着做了做EasySQL发现这也是一道非常基础的题 复现 初次相遇 我们打开题目链接发现是一个充满黑客色彩的登录页面 发现没有注册的功能,题目是EasySQL,我们猜测出题人的意思就是想让我们注入进去吧 逐步尝试 我们试着加在用户名或密码处加一个单引号,点击登录后我们发现报错了 在报错信息中我们可以看到是字符类的注入,我们可以通过“万能密码”来直接登录进去,在url中这样构造: http://f7c0ad9c-3f3f-443b-a0ef-6faf2b97c32c.node3.buuoj.cn/check.php?username=admin'or'1'='1&password=admin'or'1'='1 这样我们的账号密码不对(or前面),就会执行or后面的'1'='1'这是一个恒真的,我们使用错误的账号密码来达到了登录成功的目的。 flag就在登录成功的页面里 总结 大家在CTF中要掌握sql注入的原理,熟悉常见的几种sql注入方式,还要学会一些绕过姿势 来源: https://www.cnblogs.com/g0udan/p/12237052.html

i春秋ctf夺旗赛(第四季)wirteup——misc

六眼飞鱼酱① 提交于 2020-01-27 02:57:24
前言: 这次参加了i春秋ctf夺旗赛,misc类型一共有两道题。在这里跟大家分享一下解题步骤以及思路。 第一道题,XImg 下载文件解压后,得到一张png图片 这道题考察是图片隐写。图片隐写是misc常见的题型之一,接下来我会详细讲解一下解题步骤。 工具:stegsovle 1、把图片放到stegsovle分析,程序最下面有两个小按钮,不断点击直到得到一个被隐藏的二维码。 2、按照以往的题型,扫这个二维码就可以得到flag。但是这里有个坑,解码后的flag是假的。真的flag通过LBS隐写藏起来了。那怎么看是否存在LBS隐写呢?还是使用我们stegsovle隐写神器。点击程序最上面的Analyse,选择Data Extract 。然后如图所示勾选功能,Preview一下。得到flag。 第二道题,pypi 首先我们要知道PyPI是什么?PyPI( Python Package Index )是python官方的第三方库的仓库 1、下载文件解压,我们会得到一个图片,还有一个需要输入密码才能解压的txt文件。遇到这种题型,图片中可能会找到我们需要的密码。一开始的解题步骤和上一题类似,通过stegsovle找到被隐写的信息。只不过,这里被隐写的信息不是明文,而是通过base85加密后的信息。 2、点击SaveBin保存下来。然后把密文拿到在线base85解密网站去破译: 可以得到:

关于CTF中的一些图片隐写

感情迁移 提交于 2020-01-27 00:18:44
CTF中图片隐藏文件分离方法总结 前言 可以使用winhex之类的工具先行分析其是否为图片,可以看其头部信息,还有就是JPG图片有一个特性最后的应用数据块为FF E0 活着直接使用binwalk看看图片下有什么鬼玩意儿的。 binwalk分离 命令:binwalk -e 图片路径 foremost分离 foremost分离 命令:foremost 图片地址 #会在图片地址的目录下生成一个output的文件夹。输出到里面了。 dd分离 命令:dd if=要分离的图片名.jpg of=分离出来的图片名.jpg skip=偏移量 bs=1 图片隐藏flag怎么找 首先我们需要对图片进行分析,这里我们需要用到一个工具 binwalk ,想要了解这个工具可以参考这篇 Binwalk:后门(固件)分析利器 文章,以及 kali官方对binwalk的概述和使用介绍 。 这里我们就是最简单的利用,在binwalk后直接提供固件文件路径和文件名即可: binwalk carter.jpg 在得到隐藏信息之后我们下一步就是把另一张jpg分离出,以下讨论几种方法: (1)使用dd命令分离(linux/unix下) 我们可以使用dd命令分离出隐藏文件: dd if=carter.jpg of=carter-1.jpg skip=140147 bs=1 可以参考 dd命令详解 ,这里if是指定输入文件

play [XCTF-PWN][高手进阶区]CTF writeup攻防世界题解系列26(超详细分析)

廉价感情. 提交于 2020-01-25 09:12:00
题目地址: play 本题是高手进阶区的第15题,比较有意思! 先看看题目: 后面的题目都是十颗星的难度,需要具备比较好的漏洞挖掘能力,在这些题目中我们能学到各种各样的新的姿势。 惯例先看看保护机制: [*] '/ctf/work/python/play/a642a99a83fe4e31b1bd75959e52e6a1' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) 这个代码的理解需要仔细分析,我这边已经把这个程序涉及到的数据结构给大家写出来了: struct Hero { DWORD dwSlave; //*(_DWORD *)gHero) DWORD h2; // DWORD dwSurplus; //*((_DWORD *)gHero + 2)) 血量 剩余额 DWORD dwRecoveryHP; // recovery_hp char* szHeroName; hero_kill_type* pHeroKillType; //*((_DWORD *)gHero + 20) }; struct hero_kill_type { DWORD dwAttachNum; DWORD dwDefenseNum; char*

CTF必备技能丨Linux Pwn入门教程——环境配置

只谈情不闲聊 提交于 2020-01-25 08:38:37
说在前面 这是一套Linux Pwn入门教程系列,作者依据Atum师傅在i春秋上的Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程。 问:为什么要花费精力去整理这套系统的Linux Pwn教程? 答:网上关于Pwn的资料比较零散;经常会碰到解题过程略的Writeup和没有注释;存在大量硬编码偏移的脚本;练习题目难找;调试环境难搭建;GDB没有IDA好操作等等问题。 问:这个Linux Pwn教程适合新手学习吗? 答:本套课程非常适合萌新们进行入门学习,内容通俗易懂,化繁为简,同时结合历年赛题,实操性强,对于快速提升技能可起到很大的帮助。 问:关于Linux Pwn教程是否有视频讲解? 答:在i春秋官网的课程库中有很多关于Pwn的视频课程,立即去学习!https://www.ichunqiu.com/courses/pwn?from=weixin 本系列教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的python脚本。 教程中的题目和脚本若有使用不妥之处,欢迎各位大佬批评指正。 今天是Linux Pwn入门教程第一章:环境配置,阅读用时约7分钟。 一

嘶吼CTF easy calc

喜欢而已 提交于 2020-01-24 18:38:08
进入之后可以看到我们需要输入一个计算式来得到答案,burpsuite进行抓包之后发现页面来自于calc.php 我们直接访问calc.php页面 发现源代码泄露 可以看到当我们没有输入num值的时候就会显示源代码,否则对输入的num进行eval命令执行,在命令执行之前有黑名单过滤。 我们需要绕过黑名单进行命令执行。 虽然是这样,但是ls不在黑名单执行里面,所以我们先ls一下 返回了403界面。 这里很可能是因为有waf设备保护着输入的参数,这里我们利用php的特性,使用php字符串解析绕过WAF。 因为防护设备检测的是num,而php需要将所有参数转换为有效的变量名,所以在解析查询字符串时,php会做两件事情: 1,删除初始空格 2,将某些字符转换成下划线(包括空格) 所以我们将传入的变量改为%20num,即空格num,故WAF不会对其进行检测,而php在处理的时候又会将其还原成num。 这样成功绕过了服务器端的WAF,紧接着我们要绕过黑名单来读取flag 使用scandir函数进行读取,查看当前目录下需要使用/符号,我们使用chr函数来绕过。 所以查看当前目录下的payload为: ?%20num=print_r(scandir(chr(47))) 可知flag在flagg文件下,于是我们使用file_get_contents()函数进行读取 payload为 ?%20num

ctf常见的加解密

穿精又带淫゛_ 提交于 2020-01-22 00:34:56
经典的凯撒密码 凯撒密码的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左或向右移动-一个固定数目的位置。例如,当偏移量是左移3的时候(解密时的密钥就是3) : 明文字母表: ABCDEFGHIJKLMNOPQRSTUVWXYZ 密文字母表: DEFGHIKLMNOPQRSTUVWXYZABC 使用时,加密者查找明文字母表中需要加密的消息中的每一一个字母所在位置, 并且写下密文字母表中对应的字母。需要解密的人则根据事先已知的密钥反过来操作,得到原来的明文。 编码示例: 字符编码: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG 凯撒密码: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ Morse密码 摩斯密码的特点: 1、只有 . 和 - ; 2、最多6位; 3、也可以用0 和 1表示; 编码示例: 字符编码:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG Morse密码:- .... . --.- ..- .. -.-. -.- -... .-. --- .-- -. ..-. --- -..- .--- ..- -- .--. ... --- ...- . .-. - .... . .-.. .- --.. -.-- -.. --- --

PWN lotto [pwnable.kr]CTF writeup题解系列10

帅比萌擦擦* 提交于 2020-01-19 00:57:42
目录 0x01题目 0x02解题思路 0x03题解 0x01题目 0x02解题思路 下载文件,检查一下情况 root@mypwn:/ctf/work/pwnable.kr# ssh lotto@pwnable.kr -p2222 lotto@pwnable.kr's password: ____ __ __ ____ ____ ____ _ ___ __ _ ____ | \| |__| || \ / || \ | | / _] | |/ ]| \ | o ) | | || _ || o || o )| | / [_ | ' / | D ) | _/| | | || | || || || |___ | _] | \ | / | | | ` ' || | || _ || O || || [_ __ | \| \ | | \ / | | || | || || || || || . || . \ |__| \_/\_/ |__|__||__|__||_____||_____||_____||__||__|\_||__|\_| - Site admin : daehee87@gatech.edu - IRC : irc.netgarage.org:6667 / #pwnable.kr - Simply type "irssi" command to join IRC now - files

CTF XSS

淺唱寂寞╮ 提交于 2020-01-17 21:28:55
CTF XSS 这一块接触的不多,这次先当搬运工,之后慢慢补上自己的东西 渗透流程 参考 XSS备忘录 fuzz "'<script javascript onload src><a href></a>#$%^ '";!-=#$%^&{()}<script javascript data onload href src img input><a href></a>alert(String.fromCharCode(88,83,83));prompt(1);confirm(1)</script> 绕过 标签之间 先闭合标签 JS标签内 空格被过滤: /**/ 输出注释中:换行符 %0a``%0d 字符串中 闭合引号、宽字节 文本属性中 把所有的payload转为HTML Markup,其实就是&#加ascii码 src/href/action/xlink:href/autofocus/content/data 等属性直接使用伪协议绕过 <a href=javascript:alert(2)>test</a> <a href=data:text/html;base64,PHNjcmlwdD5hbGVydCgzKTwvc2NyaXB0Pg==>test</a> //<script>alert(3)</script> <svg><a xlink:href="javascript:alert