Xiuno BBS 积分插件购买负数漏洞修复

插件:

积分插件
tt_credits
Markup

说明:

用户可发布主题购买需支付货币为负值,其他用户购买后将从发布者账号扣除货币给到购买者账号,多账号可进行刷货币。
Markup

 

此用户发现漏洞
username:root1
uid:1679
Markup

修复:

路径:/plugin/tt_credits/hook/post_update_post_end.php
说明:编辑或更新主题会调用
$content_num = param('content_num');//下面添加
if($content_num < 0 ){//判断购买主题货币值小于零
    $content_num = 1;//小于零强制写为一
}
Markup
路径:/plugin/tt_credits/hook/thread_create_thread_end.php
说明:发布新主题会调用
$content_num = param('content_num');//下面添加
if($content_num < 0 ){//判断购买主题货币值小于零
    $content_num = 1;//小于零强制写为一
}
Markup
路径:/plugin/tt_credits/hook/post_message_after.htm
说明:发布或修改主题或会调用
找到<input标签添加oninput,如下
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null"
限制最小值为0,最大值为100
Markup

追溯:

在SQL中进行查询整个论坛是否还存在此类主题
SELECT tid,content_buy,content_buy_type FROM bbs_thread WHERE content_buy < 0
Markup

在SQL中进行查询之前利用此漏洞刷货币的用户
SELECT uid,num,code,credit_type FROM bbs_user_pay WHERE num < 0
Markup

提示:

不确定修复完成后无其他问题,建议设置定时站外备份
Markup

更新网友补充内容:

路径:/plugin/tt_credits/hook/post_message_after.htm
说明:发布或修改主题或会调用
找到<input标签添加oninput,如下
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null"
限制最小值为0,最大值为100

这个是错误的,100的地方最好改为999999不然会导致收费最高只能设为100高于100会自动变为100

© 版权声明
1:本网站名称:源码库
2:本站永久网址:www.ymkuz.com
3:本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
4:分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
5:本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6:本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7:如有链接无法下载、失效或广告,请联系管理员处理!
8:文章投稿-投诉建议E-mail:yunduanw@qq.com 站长QQ:99767152
THE END
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容