记一次某大学sql注入到getshell
0x01 前言
目标是一大学,在一次挖洞过程中遇到个sql注入,尝试进一步利用扩大危害,漏洞已报送平台进行了修复
0x02 sql注入getshell失败
在id处连续加两个单引号都报错,经过探测发现是数字型的注入且过滤了空格,这里可以用/**/代替
于是直接上sqlmap
python sqlmap.py -u url --batch --tamper=space2comment.py –dbs
python sqlmap.py -u url --batch --tamper=space2comment.py --is-dba
试了很多方法找web路径
最后注意到操作系统是FreeBSD
无意中看到这个
char(47)就是’/’,立马想到可以通过这个遍历目录、找路径
通过从根目录开始逐层遍历,最终找到网站根目录:
写入shell失败,转换成16进制规避单引号还是不行
但是这个注入可以读取服务器上的任意敏感文件(包括非web目录),危害巨大
0x03 从其它点继续尝试
读取sql注入处代码,发现并没有代码层面的过滤,explode() 函数把字符串打散为数组,这里以空格为分隔,取数组的第一个,变相地过滤了空格,把空格换成内联注释就能注入
根据泄露的数据库账号、密码尝试连接3306端口失败,估计绑定了本地ip
继续遍历目录,发现了mysql的登陆界面
登录之后却是空白界面,读取处理登录逻辑的代码发现登陆成功直接设置session但不跳转,登陆后直接访问首页就行
查一下secure_file_priv,发现是空值,并没有限制
尝试利用日志写入webshell,发现没有权限设置日志路径
找到了网站后台
数据库里面查到的账号和密码hash值
在线网站解密hash值得到明文
登录失败,读取一下源码
发现是加了盐的,于是加盐再解密得到正确密码
成功登陆后在人員資料管理新增处发现一个上传照片的地方
但是只能上传图片文件
上传成功之后,突然想到了sql写shell失败是不是因为目录权限问题,网站限制了除上传目录外其它目录都不可写?
于是尝试写入shell
成功,果然是目录写权限问题
发现蚁剑连不上,估计waf拦截了流量。看了一下蚁剑的流量加密,蚁剑流量有一个重要特征就是User-Agent为antSword/版本,另外使用了编码器的话还要将解码函数发过去,所以解码函数这里也是一个特征,需要自定义编码器和解码器。
修改antSword-master/modules/request.js和antSword-master/modules/update.js两个文件的User-Agent后成功连接,waf仅仅拦截了UA这一明显特征
反弹shell失败,nc是基于tcp/udp协议的,所以可能的原因有:反弹的命令不存在、禁止出站IP、禁止tcp协议出站端口
确认sh存在:
出站端口为访问外网,查询网络连接发现54454端口可以出站
于是监听54454端口后成功反弹shell
提权失败。服务器内核版本过高,无法利用内核漏洞提权,尝试计划任务、环境变量、和suid提权发现没有可以利用的地方,sudo提权也不行,第三方服务中udf提权发现插件目录不可写,几个文件权限也配置正常,也没有发现其它敏感信息泄露
0x04 总结
相关文章
- ssti模板注入 命令执行_access注入绕过
- oracle 正则 x00-xff,xff(xff头注入)
- 记录一次对某网站的sql注入
- spel表达式注入[通俗易懂]
- HOST头注入漏洞
- SQL 显错注入
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 分析使用 MetaClass 进行方法注入前后 mateClass 类型变化 )
- TestNG 中使用 Guice 来进行依赖注入
- 《30天打造安全工程师》第22天:SQL注入攻击继续深化
- 新型渗透手法:利用XSS绕过WAF进行SQL注入
- 防止mysql SQL注入攻击的措施(Mysql的sql注入)
- Oracle SQL的数字取整方法简介(oracle取整sql)
- 安全提升:如何有效防范Oracle注入工具(oracle注入工具)
- Oracle数据库抓取过程中的SQL技巧(oracle抓取sql)
- MSSQL实现SQL注入防护的完美解决方案(mssql 防sql注入)
- 利用Oracle SQL工具实现数据库管理(oracle sql工具)
- 深入解析MySQL的SQL语句(mysql的 sql语句)
- azure sql比较分析AWS MySQL 与 Azure SQL的区别(aws mysql 还是)
- 的sql语句精益求精Oracle打造优雅的SQL语句(oracle书写好看)
- 理解Oracle SQL中AS的使用方式(oracle sql里as用法)
- 使用Oracle SQL进行批处理分析(oracle sql跑批)
- Oracle SQL认证获取高级计算能力的必要准备(oracle sql认证)
- 间空间技术提升 Oracle SQL 性能(oracle sql 空)
- 防SQL注入生成参数化的通用分页查询语句
- discuz的php防止sql注入函数
- php防注入及开发安全详细解析
- php中sql注入漏洞示例sql注入漏洞修复