这个漏洞,我就说一下自己挖到这个洞的经历吧。我就是地毯式搜索用户输入,每个文件都看。一般在常用函数里面用户输入比较少,但是也存在这个可能性。结果一查看,还真找到了一个。

    为了验证这个漏洞是否只是伪造IP,还是说又存在注入,就再去追踪这个函数。
    结果第一个就发现可以伪造IP,但是这个还只是伪造IP
    ip地址伪造漏洞,还可以注入,善搜索"用户" - 图1
    我看过的那篇文章中,利用这个点进行了注入,获取到了管理员信息。
    文章地址: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有问题,很多功能无法实现,故这里没办法演示。