首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >网站被利用,怀疑SQL注入+ PHP检查被绕过,但无法解释后者是如何执行的

网站被利用,怀疑SQL注入+ PHP检查被绕过,但无法解释后者是如何执行的
EN

Stack Overflow用户
提问于 2015-06-22 21:09:53
回答 2查看 1.7K关注 0票数 1

背景

我几年前创建的一个网站最近遭到攻击;剥削者成功地访问了我为客户端创建的PHP前端,该前端用于上传文件,他们还上传了一些PHP文件,其中包括基于PHP的文件管理器等。如果感兴趣的话,我可以发布每个上传的PHP文件的内容,但是问题当然是他们设法访问了客户端的前端。

这个站点从第一次创建以来就没有被更新过(它使用了旧的和不推荐的MySQL函数,也没有mysql_real_escape_string()来检查登录面板中的输入(我知道)),但是我不能完全确定他们是否通过SQL注入获得了访问。

vhost运行在Windows / Parallels Plesk上,我既没有SSH访问权限,也没有访问日志的权限:我已经打开了一张票,主机提供商要求提供日志,但是我不确定它们是否能够提供日志,需要多少时间才能提供日志,因此在此期间,为了不冒任何风险,我正在试图利用自己的可疑漏洞。

我能够在用于检索用户数据的SQL语句中执行插入操作,以绕过用户检查,但是在使用PHP之后,我无法立即中断密码检查。

TL;博士

下面是用于检索用户数据和检查密码的相关代码段:我能够在SQL语句中执行注入(例如,使用" OR ""="作为用户名),但是无法在之后立即中断密码检查:

代码语言:javascript
运行
AI代码解释
复制
<?PHP
// ...
else {
    $query='SELECT * FROM users WHERE username="' . $username . '";';
    $query_result=mysql_query($query);
    if(!$query_result) {
        die (mysql_error());
    }
    else {
        $user_data=mysql_fetch_array($query_result);
        if($user_data && $user_data['password']==$password) {
            session_start();
            $_SESSION['user_id']=$user_data['id'];
            $_SESSION['user_username']=$user_data['username'];
            $_SESSION['user_password']=$user_data['password'];
            $_SESSION['user_privileges']=$user_data['privileges'];
            session_write_close();
            $next_page='control_panel.php';
        }
        else {
            $next_page='login.php?notify=username_password_wrong';
        }
    }
}
mysql_close($mysql_connect);
// ...
?>

打破这种检查是可行的吗?还是我的怀疑完全错了,我应该找其他地方找弱点吗?

EN

回答 2

Stack Overflow用户

发布于 2015-06-22 23:43:16

简短回答:

通过if语句进行密码检查是不够的。通过SQL注入和对身份验证脚本源代码的访问,它们拥有了完全访问所需的一切。

长答案:

我们已经确定您的auth脚本容易受到SQL注入的影响。您还将代码描述为非常老的、不变的代码。因此,我们可以合理地假设运行此应用程序的web服务器也是过时的。

如果在此服务器上启用了register_globals,那么直接设置$_SESSION值将非常容易--绕过if语句密码检查。它只需使用以下URI提交GET请求即可:site.php?_SESSION[user_id]=12345

如果黑客能够上传他们自己的PHP文件,那么他们肯定能够获得您的身份验证脚本的完整代码,并确定是否启用了register_globals

Further reading关于register_globals的安全含义。

这只是他们完全破坏您的应用程序的一种可能的方式。但是老实说,如果他们使用SQL来获取所有用户的凭据----他们已经将可执行文件上传到您的帐户,那么就有十亿种方法可以完全破坏您的应用程序。

票数 4
EN

Stack Overflow用户

发布于 2015-07-25 04:16:16

虽然不是详尽无遗的列表,但以下是绕过php密码检查的几种方法:

1)使用" union select '<?php system($_GET[cmd]); ?>',2,3,etc into outfile '/var/www/shell.php' --的authentication有效载荷,这将创建一个后门,然后不通过身份验证检查。攻击者现在可以直接浏览到shell.php

2)使用基于错误的SQL注入检索用户表的内容,然后使用纯文本凭证登录。

3)使用联合查询返回静态值以及用户名和密码字段" union select 1,'password',privileges,etc from users --

这当然是假设这是实际的攻击矢量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31216870

复制
相关文章
监控目录或文件变化
# watchdog介绍 Watchdog的中文的“看门狗”,有保护的意思。最早引入Watchdog是在单片机系统中,由于单片机的工作环境容易受到外界磁场的干扰,导致程序“跑飞”,造成整个系统无法正常工作,因此,引入了一个“看门狗”,对单片机的运行状态进行实时监测,针对运行故障做一些保护处理,譬如让系统重启。这种Watchdog属于硬件层面,必须有硬件电路的支持。 Linux也引入了Watchdog,在Linux内核下,当Watchdog启动后,便设定了一个定时器,如果在超时时间内没有对/dev/Watc
章工运维
2023/05/19
6920
将BCS的bucket文件保存到本地[PHP]
作者:matrix 被围观: 2,184 次 发布时间:2015-06-03 分类:兼容并蓄 零零星星 | 8 条评论 »
HHTjim 部落格
2022/09/26
2.1K0
将图片保存到XML文件的方法
一.保存图片到XML文件 /// <summary> /// 保存图片到XML文件 /// </summary> private void UploadImageToXml() { ///得到用户要上传的文件名 string strFilePathName = loFile.PostedFile.FileName; string strFileName = Path.GetFileName(strFilePathName); int FileLength = loFile.Post
跟着阿笨一起玩NET
2018/09/18
2.4K0
使用Python将数据保存到Excel文件
接下来,要知道的另一件重要事情是如何使用Python将数据保存回Excel文件。为什么要再回到Excel?嗯,因为我们大多数人只熟悉Excel,所以我们必须说他们的语言。但是,这并不妨碍我们使用另一种语言来简化我们的工作
fanjy
2021/11/10
19.3K0
使用Python将数据保存到Excel文件
linux 查找目录或文件详解
查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print
流柯
2018/08/30
5.8K0
rm命令 – 移除文件或目录
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
契合
2021/08/10
9160
cp命令 – 复制文件或目录
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
契合
2021/08/10
4.1K0
python新建文件或目录
python新建文件或目录: import os 新建文件: os.mknod("/home/aa.txt") 新建目录: os.mkdir("/home/aa") 新建多级目录: os.makedirs("/home/bb/cc")
py3study
2020/01/07
4.3K0
使用python将csv文件快速转存到mysql
因为一些工作需要,我们经常会做一些数据持久化的事情,例如将临时数据存到文件里,又或者是存到数据库里。
我被狗咬了
2019/09/23
6.3K0
使用python将csv文件快速转存到mysql
Linux cp 复制文件或目录命令
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
用户4988376
2021/07/21
10.5K0
Linux 删除文件或目录 rm 命令
1. rm [OPTION]… FILE… ---- remove files or directories - 删除文件或目录 2. 参数选项 ---- -f(—force) 强制删除,不提示确认删除信息、不显示目标不存在的信息 -r(—recursive)递归删除,递归删除目录及其内容 -v(—verbose)显示删除的内容 3. 常见用法 ---- a. 删除指定的目录 rm -rf 目录名 b. 删除指定目录下的所有内容 rm -rf 目录名/* c. 删除当前目录下的所有内容 rm -rf
很酷的站长
2023/02/18
7.2K0
Linux 删除文件或目录 rm 命令
驱动开发:内核遍历文件或目录
在笔者前一篇文章《驱动开发:内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PFILE_BOTH_DIR_INFORMATION结构下,通过遍历该目录即可获取到文件的详细参数,如下将具体分析并实现遍历目录功能。
王瑞MVP
2023/06/12
5550
驱动开发:内核遍历文件或目录
linux移除文件或目录rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
用户1685462
2021/07/24
2.5K0
bad interpreter 没有那个文件或目录
今天在linux上运行一个python脚本,总是报错bad interpreter,开始我以为是解释器的路径问题,可是whereis python告诉我路径没有错!
老高的技术博客
2022/12/27
1.3K0
驱动开发:内核遍历文件或目录
在笔者前一篇文章《驱动开发:内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PFILE_BOTH_DIR_INFORMATION结构下,通过遍历该目录即可获取到文件的详细参数,如下将具体分析并实现遍历目录功能。
王瑞MVP
2023/10/11
2570
驱动开发:内核遍历文件或目录
Linux cp 复制文件或目录命令
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
用户4988085
2021/07/20
11.8K0
Android将应用程序的崩溃信息如何保存到本地文件,并上传至服务器
导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希望有能力的人可以一起出来分享。 我们在做应用开发的时候,需要程序的崩溃信息,来进行bug的修复和版本的更新,每一个应用程序都会有bug,所以都需要在后台纪录这些bug日志,然后上传到服务器,让程序员看,并进行修复。现在也有很多第三方的jar包能实现这种功能,比如友盟统计等,但是终究不如自己写的方便。好了,废话不
非著名程序员
2018/02/02
2K0
点击加载更多

相似问题

将文件保存到目录

10

AWS Lambda,将S3文件保存到/tmp目录

20

我如何使用Pyspark将doc/docx/docm文件保存到目录或S3桶中?

18

将文件保存到s3

21

将文件保存到应用程序目录中

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文