Web攻防世界(八)

CTF-Web

Web攻防世界

前期在bilibili学习Web知识、基本漏洞原理、burp、正则表达式的用法…(菜鸟第八天)

unserialize3

在这里插入图片描述
题目为一段代码,做了挺多题的,对于这种题,上来首先代码审计:
创建了一个xctf类,一个参数为flag,重构方法_wakeup()。对于_wakeup(),其一般在序列化后被调用,所以构造一个.php文件
下面展示一些 代码片

<?php
	class xctf{
	public $flag = '111';
		pubilc function __wakeup(){
		exit('bad requests');
		}
	}
	$a = new xctf();
	echo(serialize($a)); //序列化函数,将一个字符串转变为一个对象
?>

在这里插入图片描述
赋值给code,发现其调用了_wakeup()方法
在这里插入图片描述
查阅方法得到:
wakeup()漏洞就是与整个属性个数值有关:当序列化字符串表示对象属性个数的值大于真实个数的属性时就会跳过wakeup的执行
所以构造code = O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;},可以跳过_wakeup()方法得到flag。
在这里插入图片描述

NewsCenter

题目显示功能为检索
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
不存在XSS漏洞

判断是否存在注入

在这里插入图片描述
单独添加单引号报错;使用该语句页面正常,存在sql注入

查询表中属性有几列

使用order by语句
在这里插入图片描述
在这里插入图片描述
确定属性列数目为3

查询数据库表名 、属性名

在这里插入图片描述
发现回显2,3,则可以在2,3写上想得到的数据;
在这里插入图片描述
当前数据库为news,用户为user@10.42.163.171
在这里插入图片描述存在information_schema.columns表
在这里插入图片描述
存在表:news、secret_table
news表属性列:
在这里插入图片描述
secret_table表属性列:
在这里插入图片描述
flag存在secret_table表中,属性名有id、fl4g

查看flag

在这里插入图片描述

QCTF{sq1_inJec7ion_ezzz}

总结

通过这道题学习了序列化、反序列化
以下列举一些序列化会用到的方法:

serialize(); //序列化函数,把一个对象转变成一个字符串,并保存对象的值方便传递、使用
unserialize(); //反序列函数,将一个字符串转变为相对应的对象
_construct(); //构造函数,对象创建时自动调用
_destruct(); //析构函数,对象销毁时自动调用
_wakeup(); //使用unserialize()时自动调用
_sleep(); //对象序列化前调用
_toString(); //将一个对象转换成一个字符串使用
内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
提供的引用内容中未涉及CTF Web攻防世界中关于文件包含(fileinclude)的相关内容,不过关于CTF Web中文件包含的一般解题思路和技术要点如下: ### 解题思路 - **识别漏洞**:先查看网站页面的URL参数,若有类似 `?page=xxx.php` 或 `?file=xxx.txt` 这类文件调用的参数,就可能存在文件包含漏洞。 - **测试本地文件包含**:尝试包含本地已知文件,如 `/etc/passwd`(适用于Linux系统),若能成功显示文件内容,就证明存在本地文件包含漏洞。例如,将URL中的文件参数修改为 `?file=/etc/passwd` 进行测试。 - **测试远程文件包含**:若本地文件包含测试成功,可尝试包含远程服务器上的文件。需先上传一个包含恶意代码的文件到可访问的远程服务器,再通过URL参数包含该文件。 - **获取敏感信息**:利用文件包含漏洞获取系统的敏感文件,如数据库配置文件、日志文件等,从中提取有用信息。 - **执行命令**:若包含的文件中有可执行的代码,可通过构造特殊的请求,执行系统命令,进一步控制服务器。 ### 技术要点 - **文件包含类型**:文件包含分为本地文件包含(LFI)和远程文件包含(RFI)。本地文件包含是指包含服务器本地的文件;远程文件包含则是包含远程服务器上的文件,但这种情况需要服务器配置允许远程文件包含。 - **过滤绕过**:网站可能会对包含的文件名进行过滤,常见的绕过方法有使用大小写绕过、双写绕过、目录遍历绕过等。例如,若过滤了 `../`,可尝试使用 `....//` 绕过。 - **日志文件利用**:若无法直接包含敏感文件,可尝试包含服务器的日志文件。通过构造特殊的请求,将恶意代码写入日志文件,再包含该日志文件执行恶意代码。 - **PHP包装器利用**:PHP提供了一些包装器,如 `php://filter`、`php://input` 等,可利用这些包装器实现文件内容的读取、编码转换等操作。例如,使用 `php://filter/read=convert.base64-encode/resource=xxx.php` 可以将文件内容以Base64编码的形式输出。 ```python # 示例代码:模拟一个简单的文件包含请求 import requests url = "http://example.com/index.php?file=" test_file = "/etc/passwd" response = requests.get(url + test_file) print(response.text) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值