实战 | 一次某大学sql注入到getshell
2022-9-30 00:1:56
Author: 橘猫学安全(查看原文)
阅读量:46
收藏
作者:lavon
原文地址:https://xz.aliyun.com/t/10527
目标是一大学,在一次挖洞过程中遇到个sql注入,尝试进一步利用扩大危害,漏洞已报送平台进行了修复。sql注入getshell失败
在id处连续加两个单引号都报错,经过探测发现是数字型的注入且过滤了空格,这里可以用/**/代替python sqlmap.py -u url --batch --tamper=space2comment.py –dbs
python sqlmap.py -u url --batch --tamper=space2comment.py --is-dba
char(47)就是’/’,立马想到可以通过这个遍历目录、找路径
写入shell失败,转换成16进制规避单引号还是不行但是这个注入可以读取服务器上的任意敏感文件(包括非web目录),危害巨大
从其它点继续尝试
读取sql注入处代码,发现并没有代码层面的过滤,explode() 函数把字符串打散为数组,这里以空格为分隔,取数组的第一个,变相地过滤了空格,把空格换成内联注释就能注入
根据泄露的数据库账号、密码尝试连接3306端口失败,估计绑定了本地ip
继续遍历目录,发现了mysql的登陆界面
登录之后却是空白界面,读取处理登录逻辑的代码发现登陆成功直接设置session但不跳转,登陆后直接访问首页就行
查一下secure_file_priv,发现是空值,并没有限制
尝试利用日志写入webshell,发现没有权限设置日志路径
成功登陆后在人員資料管理新增处发现一个上传照片的地方
上传成功之后,突然想到了sql写shell失败是不是因为目录权限问题,网站限制了除上传目录外其它目录都不可写?
看了一下蚁剑的流量加密,蚁剑流量有一个重要特征就是User-Agent为antSword/版本,另外使用了编码器的话还要将解码函数发过去,所以解码函数这里也是一个特征,需要自定义编码器和解码器。
修改antSword-master/modules/request.js和antSword-master/modules/update.js两个文件的User-Agent后成功连接,waf仅仅拦截了UA这一明显特征。反弹shell失败,nc是基于tcp/udp协议的,所以可能的原因有:反弹的命令不存在、禁止出站IP、禁止tcp协议出站端口出站端口为访问外网,查询网络连接发现54454端口可以出站服务器内核版本过高,无法利用内核漏洞提权,尝试计划任务、环境变量、和suid提权发现没有可以利用的地方,sudo提权也不行,第三方服务中udf提权发现插件目录不可写,几个文件权限也配置正常,也没有发现其它敏感信息泄露声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看”
文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247499205&idx=2&sn=da7240fcfd85331c2eb38e3d79f72ea0&chksm=c04d7afbf73af3ed0de5267b31c86fcbf9953ecb96894531bc1fc2d611a914af5c62304fb8ed#rd
如有侵权请联系:admin#unsafe.sh