官网:http://www.ttyoa.com/WebDst/index.htm?TopMenu=sy
北京点石通科技有限公司,点石通OA办公自动化系统
官方演示:http://www.ttyoa.com/Main3/sy.jsp
下面就拿官方demo进行测试。
0x001 多处SQL注入
首先我们拿登陆处的请求看一下:
看到没有,这里提交的参数c0-param0里面就是一个sql语句
如果这不好看出来,我们重来看一个:
这里很明显了,参数c0-param0里面就是一个完整的SQL语句
这里我们加上and 1=1,返回s0=1,正常情况也是返回s0=1
当我们加上and 1=2时,返回s0=2,此时执行错误
所以这里可以进行SQL注入。
其实更直接的,可以在这里直接执行任意SQL语句哦!!!
所以在此系统中没有任何过滤,而且计划所以的POST提交的参数里面都有完整的SQL语句,可直接执行任意SQL语句。不在一一列举。
0x002 三处任意文件上传,无需登录
第一处文件上传:
/OA/News/UploadFile.action.jsp
第二处文件上传:
第三处文件上传:
这三处的文件上传代码都差不多,而且问题都是一样
直接将szUpLoadPath和FileName拼接,然后直接write,上传文件
没有进行任何过滤和上传后缀的判断,导致任意文件上传,上传shll文件。
那第一个上传的代码分析/Common/Js/WebEdit/UploadFile.action.jsp:
很清楚了
和我们前面分析的一样。
发送如下请求就可以上传任意文件:
成功上传shell
shell地址:http://www.ttyoa.com/DB/11111111111111.jsp
0x003 三处任意文件下载,无需登录
第一处文件下载:
http://www.ttyoa.com/Common/do_download.jsp
第二处文件下载:
http://www.ttyoa.com/Common/Js/WebEdit/do_download.jsp
第三处文件下载:
http://www.ttyoa.com/Common/Js/WeiBoEdit/do_download.jsp
拿第三个文件下载分析,/Common/Js/WeiBoEdit/do_download.jsp:
szUpLoadPath和szFileName拼接后直接下载,这里的两个值就是我们传进来的,没有做任何过滤,导致任意上传!!
第三个下载,构造下载链接如下:
http://www.ttyoa.com/Common/Js/WeiBoEdit/do_download.jsp?UpLoadPath=/Common/Js/UploadEx/&FileName=../../../Common/include.inc
第一个下载构造下载如下:
http://www.ttyoa.com/Common/do_download.jsp?UpLoadPath=/Common/Js/UploadEx/&FileName=../../../WebOs/DB/20130416
这里我们来下载一个数据库文件: