通达OA v11.7后台SQL注入

26 篇文章 2 订阅
1 篇文章 0 订阅
本文回顾了SQL注入技术,以通达OA V11.7版本为例,介绍了解密过程、条件判断绕过、盲注方法(如power函数报错)和猜测用户名。后续讲述了如何利用注入获取shell权限,涉及grant权限分配及getshell策略。
摘要由CSDN通过智能技术生成

这次复习一下SQL注入,好久都没弄过这个了,拿已知的通达OA 的漏洞下手

首先下载安装一下通达OA V11.7版本

 

查看源码,发现都是乱码,都是经过zend加密的,需要解密。解密工具可使用SeayDzend

代码审计发现注入

首先判断$condition_cascade是否为空,如果不为空,则将其中的\\\'替换为\'

再查看exequery函数

 

因为是无回显机制,是盲注(盲注的核心是:substr、if等函数)

传入错误的SQL语句时,页面出错:

(id=1%20and%201=1)

union select 1,database(),user(),4

 

说明是有过滤的,这里要是看到源码就好绕过

这样不同结果页面返回的内容不同,这样就可以进行注入了。

那么只要构造MySQL报错即可配合if函数进行盲注了,翻看局外人师傅在补天白帽大会上的分享,发现power(9999,99)也可以使数据库报错,所以构造语句:

select if((substr(user(),1,1)='r'),1,power(9999,99))

通过和这个来猜测用户名第一个字符是否是r(猜测用户名为root)

 

能够查询数据之后如何getshell呢?通过/inc/conn.php代码可以看到,过滤了大多情况的getshell的方法

 

添加用户

grant all privileges ON mysql.* TO 'at666'@'%' IDENTIFIED BY 'abcABC@123' WITH GRANT OPTION

 

注入到此结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ATOM_123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值