这个漏洞,我就说一下自己挖到这个洞的经历吧。我就是地毯式搜索用户输入,每个文件都看。一般在常用函数里面用户输入比较少,但是也存在这个可能性。结果一查看,还真找到了一个。
为了验证这个漏洞是否只是伪造IP,还是说又存在注入,就再去追踪这个函数。
结果第一个就发现可以伪造IP,但是这个还只是伪造IP
我看过的那篇文章中,利用这个点进行了注入,获取到了管理员信息。
文章地址:https://chybeta.github.io/2017/03/14/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1%E4%B9%8BSQL%E6%B3%A8%E5%85%A5%EF%BC%9ABlueCMSv1-6-sp1/
原理我就简单说一下吧,毕竟这个洞别人都挖好了,还利用的很漂亮,以我的sql水准,在写这篇文章的时候,还想不到这样也能利用。不过技巧是学到了。
原理就是,既然getip()是可控的,那么只要在getip()处的输入为:
1’,’1’),(‘’,’6’,’2’,’1’,’6’,(select concat(admin_name,’:’,pwd) from blue_admin),’1’,’1
那么1’,’1’)就是完成第一次插入,后面的则是完成第二次插入。至于回显的位置,只能自己判断了。因为我的blueCMS有问题,很多功能无法实现,故这里没办法演示。