CVE-2023-20073复现
CVE-2023-20073提取固件首先在官网下载对应版本的固件,之后binwalk -Me解压,但是会出现一个问题,便是因为其软连接指向的是他的文件系统根目录下的,而当前根目录是我们的主机,想来也不会让其随便的建立软连接,他又只是一个机器,因此无法自己指向自己的根目录下,那我们只好再次自己去解压
在这个目录下执行 ubi_reader 0.ubi,但是我本身拥有这个ubi_reader,是从binwalk源码下载的,他自己却不能一次binwalk解压成功,确实让人匪夷所思,可能是要多加一些什么参数吧
漏洞成因配置文件分析首先在/etc/nginx/conf.d/目录下有很多nginx的配置模块
首先看/etc/nginx/conf.d/rest.url.conf
看到它分为五个模块,其中主要看第三个模块,即文件上传模块
12345678910111213141516171819202122232425location /api/operations/ciscosb-file:form-file-upl ...
2024ciscn华东南pwn
比赛的时候全靠fix得分,也是参与上了
baby_jit123456789101112131415161718192021222324252627void __fastcall __noreturn main(int a1, char **a2, char **a3){ char s[8]; // [rsp+0h] [rbp-10h] BYREF unsigned __int64 v4; // [rsp+8h] [rbp-8h] v4 = __readfsqword(0x28u); setvbuf(stdout, 0LL, 2, 0LL); heap = malloc(8LL * (count + 1)); sandbox(); while ( 1 ) { while ( 1 ) { printf("1. Add\n2. Exec\n3. Exit\n>> "); fgets(s, 8, stdin); if ( strcmp(s, "1\n") ...
谈非栈上格式化字符串
%hhn(写入一字节)
%hn(写入两字节)
%n(32位写四字节)
%ln / %lln(写入八字节)
hitcontraining_playfmt
首先是设置输出为无缓冲模式,然后以参数的数量的地址传参
里面调用do_fmt函数,显然是一个非栈上的格式化字符串漏洞
没有保护,且有RWX段,gdb进去可以看到栈便是RWX段,但是没什么软用,因为是非栈上的格式化字符串
这题是通过在buf段构造shellcode的,因为是老题了,在很old的内核版本的数据段是可执行的,直到5点多才不可执行的
因此就看一个思路即可
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import osimport sysimport timefrom pwn import *from ctypes import *context.os = 'linux'context.log_le ...
CVE-2023-26315
这个cve是我至今以来复现的最为复杂的漏洞了,winmt真神!
固件仿真首先固件的提取可以看zikh26的博客,非常详细
如果是直接下载固件包的话,要先运行sudo apt install libvirt-daemon-system libvirt-clients virt-manager下载virbr0网桥
但是我在下载的时候要求卸载掉vmtool,可能是软件关系的冲突,但是zikh26师傅说他没遇到过,因此我猜测是网卡分配的冲突或者是网络配置的冲突??我也不是很懂,如果有了解的师傅请跟我说说,不过卸载了也没关系,不过是手改elf文件罢了
1234567891011sudo qemu-system-aarch64 \ -M virt \ -cpu cortex-a53 \ -m 1G \ -initrd initrd.img-5.10.0-29-arm64 \ -kernel vmlinuz-5.10.0-29-arm64 \ -append "root=/dev/vda2 console=ttyAMA0" \ -drive if=virti ...
TP-Link SR20命令执行漏洞复现
这个漏洞的成因是因为他的TDDP本身协议有任意命令执行的漏洞
TDDP协议
基于UDP协议,端口为1040端口
以上为TDDP协议的报头,第一个字节为version,即版本。tddp协议有两个版本:version1和version2。其中version1不支持身份验证和对数据包载荷的加密,而version2要求身份验证和加密。也正是因为version1不要求身份的认证即可对设备进行调试,导致出现漏洞。
漏洞复现是arm32小端,已经qemu过很多固件了,就不再多赘述,也不会很复杂
启动脚本如下
123456789#!/bin/bashsudo qemu-system-arm \ -M vexpress-a9 \ -kernel vmlinuz-3.2.0-4-vexpress \ -initrd initrd.img-3.2.0-4-vexpress \ -drive if=sd,file=debian_wheezy_armhf_standard.qcow2 \ -append "root=/dev/mmcblk0p2 console=ttyAM ...
CVE-2018-7034复现
漏洞信息
通过使用 AUTHORIZED_GROUP=1 值,攻击者可以绕过认证,如通过请求 getcfg.php 进行信息泄露
这个cve的成因,主要是因为解析%xx和判断环境变量的不严谨导致的,以下分析
php文件的分析
可以看到如果Authorized_group>=0即代表用户授权,可以加载一个file,而这个file是"/htdocs/webinc/getcfg/".$GETCFG_SVC.".xml.php"的格式,那么我们看到在该目录下的以.xml.php为后缀的文件,DEVICE.ACCOUNT.xml.php 该文件可以泄露用户名和密码等信息
123456789101112foreach("/device/account/entry"){ if ($InDeX > $cnt) break; echo "\t\t\t<entry>\n"; echo "\t\t\t\t<uid>". get("x" ...
题录1.2
刷题记录3[GDOUCTF 2023]Random
显然ORW
1234567891011121314151617181920212223242526272829303132333435int __cdecl main(int argc, const char **argv, const char **envp){ unsigned int v3; // eax int v5; // [rsp+0h] [rbp-10h] BYREF int v6; // [rsp+4h] [rbp-Ch] int v7; // [rsp+8h] [rbp-8h] int i; // [rsp+Ch] [rbp-4h] setbuf(stdin, 0LL); setbuf(stdout, 0LL); setbuf(stderr, 0LL); v7 = 100; sandbox(); v3 = time(0LL); srand(v3); for ( i = 0; i < v7; ++i ) { v6 = rand() % 50; puts ...
CVE-2023-34644复现
CVE-2023-34644luci框架和lua文件/etc/config/luci通常是luci框架的配置文件,/usr/lib/lua/luci 通常是 LuCI 框架的核心文件所在的目录
Luci采用的是MVC的Web框架,即Model、View、Controller。
123/usr/lib/lua/luci/controller/ --控制层 /usr/lib/lua/luci/view/ --视图层/usr/lib/lua/luci/model/cbi/ --模型层
未授权的漏洞,那么首先就要找到无鉴权的API接口,定位到/usr/lib/lua/luci/controller/eweb/api.lua文件。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657-- API集合module("luci.controller.eweb.api", package.seeall)functio ...