php测试注入源码,PHPEMS注入一处(Demo测试成功)

本文详细分析了一个PHP考试系统由于过滤不严导致的注入漏洞,主要涉及getCookie函数和makeSelect方法。通过构造特定请求,可以利用此漏洞执行SQL注入,获取敏感信息。文章提供了漏洞证明步骤,包括如何利用注入漏洞获取数据库中的用户名和密码,以及如何通过特殊请求暴露数据库前缀。
摘要由CSDN通过智能技术生成

### 简要描述:

过滤不严导致的注入

### 详细说明:

看文件 /app/exam/app.php 272-286行

```

public function lesson()

{

$action = $this->ev->url(3);

$page = $this->ev->get('page');

switch($action)

{

case 'ajax':

switch($this->ev->url(4))

{

case 'questions':

$number = $this->ev->get('number');

if(!$number)$number = 1;

$questid = $this->ev->getCookie('questype');

$knowsid = $this->ev->getCookie('knowsid');

$questions = $this->question->getRandQuestionListByKnowid($knowsid,$questid);

```

跟下getCookie 文件/lib/ev.cls.php 81-85行

```

public function getCookie($par,$nohead = 0)

{

if(isset($this->cookie[CH.$par]))return $this->cookie[CH.$par];

elseif(isset($this->cookie[$par]) && $nohead)return $this->cookie[$par];

else return false;

}

```

从cookie中获得参数,这里的knowsid没有处理。

然后带进了这个函数getRandQuestionListByKnowid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值