文章总结: 本文审计某自写商城系统,分析其路由与SQL封装机制。发现后台多处SQL注入漏洞,如noticelog_list参数可直接利用。同时分析前台wechat_push接口注入点,因字段不匹配导致利用受限。文末包含安全培训课程推广。 综合评分: 65 文章分类: 代码审计,漏洞分析,WEB安全,软文广告
某商城系统最新版本SQL注入审计
原创
学员投稿
进击安全
2026年1月11日 12:37 北京
免责申明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
一、前言
学员这个思路不错,但是前台注入漏洞有点小拉胯了,师傅们可以看看。
二、路由分析
这里就不纯代码走了,用小朋友教的技巧来进行定位。
进行登录抓包,查看路由。
这里路由写的还是挺明显的,mod=do以及act=login,其实就是方法是login方法。
在这里大致可以看出来是module文件夹,并且为module文件夹下的do.php里面的aciton方法,我们跟入看看是不是。
这里写的还不是login方法,但是这里有经验之后可以看出来,这里走的是默认方法default方法,也就是我们act传任何参数都是登录方法,来验证路由分析的是否正确。
可以看到我们的思路是正确的,同时根据目录结构开看,可以发现。
这里通过不同的入口文件来访问不同的文件夹,我们是admin.php开头所以访问到了admin文件夹下的内容。
三、SQL注入漏洞分析
像这种自写框架类型的其实一般会把一些SQL语句来封装为一个方法,进行调用,其中可能会有一些过滤等信息,这里我们来看一下登录逻辑是如何的。
接受账号密码之后传递给了方法pe_select这个方法,其实通过这个方法我们也可以看出来这个方法是封装的select方法,跟入查看一下。
这里可以看出来参数是直接进行拼接的,但是外面还有一层方法为Pe_dohold我们跟入查看。
可以看到这里是存在相关的过滤信息的,所以这里我们也就明白了一点,对于这种我们也就知道了:
- [ ] 封装的SQL操作方法问pe_select类推别的位pe_inster、pe_update等。
- [ ] 这种方法是直接拼接的,如果没有过滤可以直接进行SQL注入。
- [ ] 其中对参数进行了pe_dohold方法的调用时存在过滤的。
总结上述方法之后我们开始尝试进行寻找注入漏洞。
三、后台注入漏洞
在这里接受参数noticelog_list参数并且直接给到了插入语句当中,同时参数也是我们自己可以控制的,我们来进行验证是否存在SQL注入漏洞。
成功注入。
以及另外两个SQL注入漏洞。
均存在SQL注入漏洞。
四、前台注入漏洞(残次品)
这里我们优先查看前台的文件,这里查看api文件下的wechat_push.php文件。
这里接受参数位user_wx_openid参数,这个参数时从xml获取到的,同时这里进入这个方法也不再是act而是xml中的标签MsgType标签位event之后就可以触发,这里我们查看xml是不是我们可以控制的。
可以看到是我们可以控制的。
但是当我进行调试的时候。
发现这个语句行不通,其中pe_user为注册的用户,注册了用户之后并未发现存在shop_id字段,所以这个注入也就走不到后面的延迟语句,但是应该是可以通过别的方法来操作一下,这里应该是需要对接一个客服之后才可以,先来验证是否存在sql注入,我将字段shop_id字段更改为了user_id字段。
这个有点太可惜了,不过抱着和小朋友老师学习的心态,也算是一种学习吧。
广告区域
目前第四期进阶课程已经开始,课表如下:
同时报名第四期基础课程同样可看,课表如下:
同时具备内部资料以及靶场相关福利,想要了解的师傅可以冲了。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:进击安全 学员投稿《某商城系统最新版本SQL注入审计》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论