简介文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式
基础常见的文件包含漏洞的形式
<?php$a = @$_GET['file'];include $a;?>
目录
PHP伪协议利用
日志文件包含
包含临时文件
远程文件包含
漏洞危害
读取敏感文件
获取webshell
任意命令执行
在某些情况下,根据LFI漏洞的性质,可以运行系统可执行文件
存在漏洞的函数:
include() 只有代码执行到此函数时才将文件包含进来,发生错误时只警告并继续执行。
require() 只要程序执行,立即调用此函数包含文件,发生错误时,会输出错误信息并立即终止程序。
include_once() 功能include()一样,区别在于当重复调用同一文件时,程序只调用一次。
require_once() 功能require()一样,区别在于当重复调用同一文件时,程序只调用一次。
文件包含功能要实现,需要在PHP的配置文件php.ini中 ...
jpg类隐写jphide隐写010里发现假的flag
5a+G56CBMTIz
密码123,有密码的jpg隐写,steghide,JPHS.
用stegdetect检查一下,发现是jphide隐写
JPHS
FSCTF{huang_duduanwangu}
outguss隐写
查看属性:公正民主公正文明公正和谐
社会主义核心价值观解密
密码为abc
采用outguess解密
outguess安装:https://blog.csdn.net/m0_58199719/article/details/123692511?spm=1001.2014.3001.5501
outguess使用
注意:outguess -k ‘密码’ -r 文件名 flag.txt
ACTF{gue33_Gu3Ss!2020}
F5-steganography隐写刷新过的图片
010里面没有有效信息,binwalk无结果,这题涉及F5-steganography隐写
工具安装参考博客 https://blog.csdn.net/weixin_30627381/article/details/99 ...
内存取证volatility基础命令imageinfo:显示目标镜像的摘要信息,这常常是第一步,获取内存的操作系统类型及版本,之后可以在 –profile 中带上对应的操作系统,后续操作都要带上这一参数pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程cmdscan:可用于查看终端记录notepad:查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox)filescan:扫描所有的文件列表linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’dumpfiles:导出某一文件(指定虚拟地址)需要指定偏移量 -Q 和输出目录 -Dmendump:提取出指定进程,常用foremost 来分离里面的文件需要指定 ...
usb流量简介:
USB流量指的是USB设备接口的流量,攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。在CTF中,USB流量分析主要以键盘和鼠标流量为主
[NISACTF 2022]破损的flag键盘流量分析
#!/usr/bin/env pythonimport sysimport osDataFileName = "usb.dat"presses = []normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c&qu ...
weblogic简介:
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中
初始页面
这里推荐一个批量扫描脚本工具
https://github.com/rabbitmask/WeblogicScan
CVE-2018-2894环境搭建:
git clone https://github.com/vulhub/vulhub.gitcd vulhub-master/weblogic/CVE-2018-2894docker-compose up -d #docker上部署,关闭docker后再次访问直接输入即可docker ps #查看正在运行进程,发现其映射到7001端口http://192.168.228.131:7001/console/ #访问7001,192.168. ...
png_masterpart1:010发现文件末尾有base64
cyberchef解密得
flag1:DASCTF{2fd9e9ff-e27
part2:stegsolve里发现
flag2:d-5405-c5f5-
part3:检查一下pngIDAT块的信息
关于IDAT隐写就在此处介绍一下
IDAT有固定的长度,正常的PNG图片只有最后一个IDAT块的长度是比其他的要短的,在此处很明显的58674是最后一个IDAT模块,但是后面仍然多了一个IDAT,这是多余的,可以用binwalk检测一下,其实我们可以发现他其实是有2个zlib,有几个zlib代表有几张png图片,可以浅浅的这样理解一下
一般解题思路:将最后的一个IDAT模块解压提取出来,因为这里有出题人所隐藏的信息,看了网上一个题的解题思路是将其IDAT的数据提取出来转二进制,进行二维码绘图,扫码即可得flag,在这里就不再演示了
发现长度为3394的模块异常,加上原文件的头尾,CRC爆破
最后一段flag为a19131f86126}
DASCTF{2fd9e9ff-e27d-5405-c5f5-a19131f86 ...
Signintwinhex编码解码,得到base64编码,从格式看出是图⽚转了base64,于是⽤在线Base64转图⽚恢复图⽚,是个⼆维码,扫描得到要发送WKCTF2024到公众号获取flag。
小z的社交网络题目显示的是AES的ecb加密方式,这里给的是一张ppm图片,图片格式已经损坏 ,根据ElectronicColoringBook可以对其进行恢复
python ElectronicColoringBook.py id.ppm --blocksize=3 -p 3 -o 10
得知其账号
d3d3LnppbWFibHVlLmxpZmU=
继续在微博⾥找,可以看到有微博说明了密码是⼥朋友⽣⽇,再在下⼀条可以看到他⼥朋友的⼩红书
图⽚⽔印,根据⽔印找到其账号,然后在个⼈简介找到⼀个base58编码,解密发现是qq,访问qq可以
看到⽣⽇20000917,那么就可以解开博客了。博客是个提⽰,提⽰要去找github账号。
https://github.com/BeBetterCoder/WKCTF,可以发现这里他进行删除了flag.zip
4.根据博客 ...