CTF-SHOW 刷题记录Web2
CTF SHOW Web 21~28 Web21使用bp进行抓包,在Authorization里发现奇怪的东西 base64解密后获得以下东西 发现是我们输入的账号和密码。题目已经说了账号是admin,所以我们需要爆破得出密码即可。密码本题目已经给了。 使用自定义迭代器 格式是:用户名:密码,分为三部分 第一部分是:admin 第二部分是:“ : ” 第三部分就是密码了。这里密码一个个替换成字典中的密码(记得用题目给的附件,不然时间太久了),然后看是否返回一个有效页面(200OK) 接着,需要对发送的内容进行base64加密 最后记得把payload encoding关掉,避免影响base64密文 开始攻击 得到一个成功的 我们查看返回的页面即可获得flag Web22域名爆破 Web23题目1234567891011121314151617181920212223242526<?php/*# -*- coding: utf-8 -*-# @Author: h1xa# @Date: 2020-09-03 11:43:51# @Last...
CTF-SHOW 刷题记录
CTF SHOW pwn35~110 pwn35(数组溢出) 数组溢出,输入一个超长字符串即可 pwn36(后门函数直接得到flag) 看准了这个ctfshow函数 这里使用了gets函数读取s数组,且此程序没有栈溢出保护,故在这里可以进行栈溢出攻击。 同时题目提示有后门函数 查看这个get_flag函数 123fgets函数:char* fgets(char *restrict str, int size , FILE* restrict stream)char *fgets(“容器的地址”, “容器的大小”, “从哪里读取”) 所以我们需要做的是 将ctfshow函数的返回地址填充为get_flag函数的返回地址 查看get_flag函数的地址 为0x08048586 整体思路为: (当然还有一截previous ebp),所以距离返回地址的长度为0x28+4 exp1234567from pwn import *io = remote("pwn.challenge.ctf.show", 28183)flag_addr =...
任意文件读取漏洞
任意文件读取漏洞允许攻击者在服务器上读取任何文件,而不仅仅是哪些应该公开访问的文件。 文件包含漏洞某些Web应用通过参数传递文件名,然后将文件内容直接包含到页面中。如果没有对传入的文件名进行严格的验证,攻击者可能传递恶意文件路径,从而读取服务器上的敏感内容 1http://example.com/index.php?page=../../../../etc/passwd 路径遍历漏洞这种漏洞发生在用户输入的文件路径未经过验证直接用于文件操作的情况下。攻击者可以利用 ../ 这样的路径遍历序列访问超出预期目录的文件 1http://example.com/download?file=../../../../etc/passwd 文件解析漏洞一些Web应用程序允许用户上传文件,但没有正确验证上传文件的类型和内容,攻击者可以上传一个恶意文件,然后通过解析这个文件读取服务器上的其他文件
CTF-SHOW刷题记录Web5
CTFshowWeb351题目1234567891011<?phperror_reporting(0); #关闭所有错误报告,防止错误信息泄露给用户highlight_file(__FILE__); #高亮显示当前文件$url=$_POST['url']; #使用POST方法传递参数url,赋值给变量$url,这里并没有验证用户的输入$ch=curl_init($url); #初始化cURL会话,用户提供的URL将被用于发起HTTP请求curl_setopt($ch, CURLOPT_HEADER, 0); #表示不包含响应头在输出中curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); #让curl_exec返回获取的内容不是直接输出$result=curl_exec($ch); #执行curl_exec,结果存入$resultcurl_close($ch); #关闭会话echo...
网络协议
URL的一般格式<协议>://<主机>:<端口>/<路径> 协议 主机:指该主机在互联网上的域名,一个URL中也可以使用IP作为域名 端口:跟在域名后,以“:”作为分割符。默认端口是80 路径:协议和主机部分,字母不区分大小写。但是路径有时要区分大小写 File协议file协议也叫本地文件传输协议,主要用于访问本地计算机中的文件。 基本格式file:///D:/mywebproject/bigwatermelon/index.html HTTP协议http://127.0.0.1:5500/pocon041
SSRF漏洞
SSRF漏洞SSRF基础SSRF(server-side request forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统 相关函数和类file_get_contents()将整个文件或一个url所指向的文件读入一个字符串中 readfile()输出一个文件的内容 fsockopen()打开一个网络连接或者一个Unix套接字连接 curl_exec()初始化一个新的会话,返回一个CURL句柄,供curl_setopt(),...
RCE漏洞
远程命令执行漏洞RCE(remote command/code execute,远程命令执行)漏洞,一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口,比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上。 一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。如果设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台执行,从而控制整个后台服务器 原理以PHP为例,system、exec、shell_exec、passthu、popen、proc_popen等函数可以执行系统命令。当我们可以控制这些函数的参数时,就能运行我们想运行的命令,从而进行攻击。 攻击 管道符 作用 举例 | 直接执行后面的语句 ping 127.0.0.1 | whoami || 前面的语句执行出错则执行后面的语句 ping 127.0.0.1 ||...
php伪协议
...
CTF-SHOW刷题记录Web3
CTF SHOW web29~124 Web29题目1234567891011<?phperror_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); }}else{ highlight_file(__FILE__);} 前置基础知识eval()函数eval()函数把字符串按照PHP代码来计算。该字符串必须是合法的PHP代码,且必须以分号结尾。 return语句会立即种植对字符串的计算 1eval(phpcode) phpcode:必需。规定要计算的PHP代码 system函数同C版本的system()函数一样 1system(string $command, int &$result_code = null):...
信息收集
信息收集git目录泄露源码泄露 svn目录泄露源码泄露 idea工程目录泄露项目内容,数据库等等 后台目录泄露工具当题目没有给出过多的信息的时候,就需要进行目录扫盘 如果方向明确,就没有必要 dirsearchffuf敏感文件vim备份文件 index.php.swp .index.php.swo gedit备份文件 index.php~ 其他备份文件 www.zip sql.bak