复现条件:
环境:windows11+phpstudyV8+PHP5.4.45+apache
程序框架:damicms2014
条件:需要登录
特点:属于GET型注入,且存在防御脚本,防御方法
payload构造思路:
要想知道账号密码,那么我们就要查询dami_member表中的username,userpwd这两个字段,那么dami_member是当前cms所使用数据库的用户表,username和userpwd是当前用户表中的数据字段。
漏洞复现:
首先我们把程序安装好
我们先去注册一个账号
登陆成功后我们开始进行复现
复现思路:
那么我们想查询这个表中当前两个字段的数据,在sql中的语法
select username,userpwd from dami_member;
对吧,就是这段sql语句,那么我们在网页上就应该给field传参数据为
username,userpwd from dami_member%23
那么我们就要构造如下链接进行访问
http://127.0.0.1/dami/code/index.php?s=/api/ajax_arclist/model/article/field/username,userpwd from dami_member%23
(注意:最后面的#号要写成%23,因为进行get方法请求时,可控参数进入服务端会进行一次urldecode解码)
我们可以看到账号密码已经显示出来了,证明漏洞的存在。