盈世信息科技OA系统SQL注入
http://218.107.63.241:82是OA系统
/interface/go.php没有过滤APP_UNIT参数,导致了SQL注入漏洞
$APP_UNIT = urldecode( $APP_UNIT );
$query = "select MEMBER_ID from CONNECT_CONFIG where MEMBER_NAME='".$APP_UNIT."'";
虽然开启了magic_quotes_gpc,单引号会被转义,但是因为他会先解码一遍,就可以用%2527来绕过GPC
用SQLMAP注入出数据信息
web application technology: Apache
back-end DBMS: MySQL 5.0
available databases [8]:
[*] BUS
[*] crscell
[*] information_schema
[*] mysql
[*] performance_schema
[*] TD_OA
[*] TD_OA_ARCHIVE
[*] TRAIN
虽然可以抓到很多人的密码hash,md5(unix)类型的,但是一个都破解不了,突然发现admin是用动态口令登录的。
研究了一下OA的代码,发现是可以绕过的,只要获取到admin帐号的key,就可以自己生成动态密码
而它刚好在数据库的secure_key表中,他有两个字段,KEY_SN和KEY_INFO,user表也有一个字段SECURE_KEY_SN,这样就找到了admin帐号的KEY_INFO信息。
利用这个key就可以生成动态密码了。

上面任意一个动态密码都可以登录

登录成功

成功拿到shell,因为是apache,直接系统权限。
修复方案:
过滤