进数据库很重要的一点是找到配置文件拿到数据库的各类配置信息,这里窝觉得在网站所属的后台里找例如index.php看一下就能很快找到对应的config.php所在的位置,这题也是看了根目录下的index.php找到了对应的config.php的。
再来讲讲卡了整个队整整一个下午导致窝们只拿了三等奖的那个第二个靶机的入口。打开ip对应的是一个博客,wordpress框架。然后跑去百度wordpress框架的漏洞(比赛时候vpn一直没挂上用不了Google好蛋疼)。发现wordpress框架好几个漏洞都来自它的插件。把网上有的几个插件的php尝试一下,发现clicktracker.php存在sql注入的地方。具体的内容可以click这个链接WordPress AdRotate插件’clicktracker.php’SQL注入漏洞。
查看说明不难发现我们需要在 http://[host]/wp-content/plugins/adrotate/library/clicktracker.php?track= 后面添加上需要的sql语句进行注入。要注意的是要把语句写好后转成base64编码。这里要提到的这次比赛的又一个感悟是用框架搭的网站,它一些文件的存放路径,数据库的命名也是有迹可循的。当时的窝并不知道这里点。。所以发现这个注入点后就开始用union select开始准备爆库,爆表,爆字段。。这时候我发现一个很奇葩的问题也想吐槽一下,那就是我用在线base64生成的编码和burp上的竟然不一样。。而且burp上的竟然才能用。。不是很明白这个Orz。
言归正传,漏洞说明里说了,数据库查询的结果会返回在一个链接上面,然后我发现tmd它只会返回查询的第一项内容。爆库可能不是很可行。这时候,可能是看还没有人拿下第二个靶机,工作人员给了这题的提示,给了数据库名和字段名,甚至连sql语句都给出来了。。我想说我马上就能自己搞出来了。当然到这里我就明白了刚刚提过的框架有自己规定的数据库结构。百度一下你就知道。。WordPress数据库及各表结构到这里,sql注入算是OK了,加上一句-1 UNION SELECT(select user_login from wp_users),1,1,1 即可。
然后,就是窝整整一下午噩梦的开始。。爆出的用户名是shu_admin,密码是**PBlqtRa.i0NMCF89mD0sOthgCjxB2Kx.**当填上发现密码错误是,窝就开始破解这个密码,尝试所有我知道的加密方式,都失败了。。直到比赛快结束时,队友告诉我wordpress框架有自己的加密方式。。。。。。。。心里草泥马在狂奔==
wordpress加密是salt加password以后MD5很多很多次,再加个base64这样的。。也就是说,理论上是不可逆的,只能撞库。wordpress用户密码加密原理及其算法分析然后,比完了问了学长才知道,cmd5有wordpress格式的加密功能。。。。。wtf把PBlqtRa.i0NMCF89mD0sOthgCjxB2Kx.
改成$P$BlqtRa.i0NMCF89mD0sOthgCjxB2Kx.丢到cmd5里就会出来shu123456这个密码。。搞的我一怒之下花了100软妹币充了cmd5,下午刚刚到手的奖金就花完了Orz
因为没破出密码,导致第二个靶机一分未得并且窝还任性地不看第三个靶机,导致窝们队与800软妹币擦肩而过,我这个名义上的队长要负很大责任。希望以后比赛能吸取这次的教训,在多培养渗透思路的前提下,尽量调整好心态,不在牛角尖上撞死。