74cms 两处二次注入

user/user_download_resume.php 331-356行

这里有用到两个函数,write_memberslog和write_pmsnotice.而且都传进了参数 $ruser[‘username’],而$ruser[‘username’]来自于333行直接查询数据库而来,并且没有做转义操作。若果write_memberslog和write_pmsnotice也没有做出转义,那么久造成了注入。我们跟进这两个函数

可以看见,两个函数对传入的数据都没有做转义。所以造成注入。

这里演示由write_memberslog函数造成的注入,因为write_pmsnotice在它的后面,如果我们前面已的用户名已经注册成恶意字符,后面的的这个函数sql语句会执行不成功,因为插入的字段数目和本身的SQL语句的字段数目不匹配(不知道说清楚没有)
1.首先注册一个企业账号,并且发布一个职位。
2.注册一个普通用户,我们的用户名要注册成:1′,’1′,’1′,user(),’1′,’9′)#(虽然有全局转义,但是代入数据库之后,会被还原的)。
1
3.填好一份简历,然后申请刚刚我们发布的那个职位
2
4.登陆企业账号,来到职位管理的地方,我们点击下载简历
1
5.看看数据库监控语句,成功执行。
1
看到没有,还是直接带入语句的,只是因为我们的字段数不匹配,所以不成功执行而已,但确实是注入,所以一并修复哦
6.来到我的账户,
2

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录