waychar报名系统VER 0.30 SQL注入复现
1. 前言
在cnvd上看到最新的披露中有waychar报名系统的sql注入,于是想复现看看。

漏洞复现环境
源码下载地址:http://down.chinaz.com/soft/39094.htm
使用phpstudy搭载环境
2. 前台登陆处存在SQL注入
复现
登陆处,用数据库已有的账号密码登录

抓包,保存为txt文件

sqlmap:

分析
controller/ajax.php 24-58行

前端传输的username参数没有任何的过滤操作就拼接到了sql语句中,导致了sql注入
3. 前台找回密码处存在SQL注入
复现
输入数据库中存在的号码

截获数据包,保存为txt文件

使用sqlmap

分析
controller/ajax.php 12-23行

mobi参数没有做任何过滤就传递给$mobi变量,然后拼接在sql语句中,导致了sql注入
4. 前台重置密码处延时注入
复现
payload:12345678'and(select*from(select+sleep(5))a/**/union/**/select+1)='

分析
controller/ajax.php 100-113行

password_new参数没有做任何过滤操作,传递给了$password_o变量,并且最后拼接在了SQL语句中
sql语句:update w_user set password_o = '$password_o', password = '$password' where id = "
. $_COOKIE['id'];
5. 活动信息处sql注入
复现
payload:/index.php?c=race&action=race_msg&id=57 order by 1,2,3,4,5,6,7

可以看到是正常显示页面的
payload:/index.php?c=race&action=race_msg&id=57 order by 1,2,3,4,5,6,7,8

红框部分的内容消失不见
说明有7个字段
payload:/index.php?c=race&action=race_msg&id=57 union select 1,2,3,4,5,user(),7

获得了当前的用户
分析
controller/ajax.php 136-142行

id参数没有过滤,导致了sql注入
6. 后台会员管理搜索处存在SQL注入
密码默认为admin123
会员管理

随便输入一个号码,并抓包

将数据包保存为一个txt

结果

分析:
代码位置:controller/user.php 12-24行

mobi参数没有经过过滤,就拼接到sql语句中,导致了SQL注入
7. 总结
经过复现了6处sql注入,发现源码中基本上对参数都没有做任何过滤操作,导致了整个站中都有SQL注入,感兴趣的可以在官网下载源码来看看。
转载
分享
@ybdt 因为那是xray的测试payload~
@大佬们带带我啊啊啊 这些都是cms中自带的测试数据。。。没关系吧
大佬的密码找回手机暴露了-。-
@ybdt 好的,谢谢~~
另外,时间盲注的那段payload:
12345678'and(select*from(select+sleep(5))a//union//select+1)='
程序没有waf,感觉没必要这么复杂,简单的:
12345678' and sleep(5)
就可以啊
看完有一点小建议,很多GET、POST获取参数后都传递给了函数get(),函数get()应该贴一下