攻防世界 web进阶—upload

本文详细描述了一次通过文件上传功能利用SQL注入技术获取数据库信息的过程,包括如何构造payload,从数据库名到表名,再到字段名,最终得到flag的完整步骤。
摘要由CSDN通过智能技术生成

这道题的大体思路是:
利用上传文件的文件名进行sql注入

这里先普及几个mysql函数的用法
	

		
		 1. CONV()
		 			简单的来说这个函数就是用来进行***进制的转换***的
		 			CONV(N,from_base,to_base)
					N是要转换的数据,from_base是原进制,to_base是目标进制。
					select conv(16,10,16);
					+—————-+
					| conv(16,10,16) |
					+—————-+
					| 10 |
					+—————-+
					1 row in set (0.04 sec)
					如果N是有符号数字,则to_base要以负数的形式提供,否则会将N当作无符号数
					
					
					mysql> select conv(-16,10,16);
					+——————+
					| conv(-16,10,16) |
					+——————+
					| FFFFFFFFFFFFFFF0 |
					+——————+
					1 row in set (0.00 sec)
					mysql> select conv(-16,10,-16);
					+——————+
					| conv(-16,10,-16) |
					+——————+
					| -10 |
					+——————+
					1 row in set (0.00 sec)
								 			
		2.substr()
					简单来说 这个函数是用来***搜索字符串***的
					substr(string string,num start,num length);

					string为字符串;
					
					start为起始位置;
攻防世界中的文件包含漏洞(File Inclusion Vulnerability)是一种常见的web安全漏洞。它主要出现在web应用程序中,当应用程序动态包含用户可控制的文件时,如果没有正确过滤和验证用户输入,攻击者可以利用这个漏洞执行恶意代码或读取敏感文件。 文件包含漏洞分为本地文件包含(Local File Inclusion,LFI)和远程文件包含(Remote File Inclusion,RFI)两种类型。LFI漏洞发生在应用程序尝试包含本地文件时,而RFI漏洞则允许攻击者通过远程服务器包含外部文件。 为了防止文件包含漏洞,开发人员应该遵循以下最佳实践: 1. 永远不要信任用户输入。对用户提供的文件名、路径或URL进行严格的输入验证和过滤。 2. 使用白名单机制限制可包含的文件范围。只允许应用程序包含预定义的合法文件,而不是用户可控制的任意文件。 3. 避免使用动态包含,尽量使用静态包含。如果必须使用动态包含,确保只包含可信任的文件。 4. 对于本地文件包含漏洞,限制访问文件系统的权限。确保应用程序只能访问必要的文件,并将敏感文件放在可访问性受限的目录下。 5. 对于远程文件包含漏洞,禁止从远程服务器包含文件,或者使用安全的方法验证和限制远程文件的来源。 6. 定期更新和修补应用程序的漏洞,以确保及时修复已知的文件包含漏洞和其他安全问题。 这些是一些常见的防范文件包含漏洞的方法,但在实际开发过程中,还需要根据具体情况采取其他安全措施来保护应用程序免受攻击。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值