SourceCodester Online Eyewear Shop 1.0 POST Request oews/classes/Users.php registration firstname/middlename/lastname/email/contact Script de Site Cruzado
| CVSS Meta Pontuação Temporária | Preço atual do exploit (≈) | Nota de Interesse CTI |
|---|---|---|
| 5.3 | $0-$5k | 0.00 |
Sumário
Uma vulnerabilidade classificada como problemático foi encontrada em SourceCodester Online Eyewear Shop 1.0. Afectado é a função registration do ficheiro oews/classes/Users.php do componente POST Request Handler. O tratamento do parâmetro firstname/middlename/lastname/email/contact leva a Script de Site Cruzado.
A vulnerabilidade é identificada como CVE-2023-0732. O ataque pode ser feito a partir da rede. Além disso, há uma exploração disponível.
Detalhes
Uma vulnerabilidade classificada como problemático foi encontrada em SourceCodester Online Eyewear Shop 1.0. Afectado é a função registration do ficheiro oews/classes/Users.php do componente POST Request Handler. O tratamento do parâmetro firstname/middlename/lastname/email/contact leva a Script de Site Cruzado. Declarar o problema usando CWE resulta em CWE-79. O problema foi divulgado 07/02/2023 por Pierfrancesco Conti com Cyber Partners.
A vulnerabilidade é identificada como CVE-2023-0732. O ataque pode ser feito a partir da rede. Os detalhes técnicos estão disponíveis. A vulnerabilidade não é bem conhecida. Além disso, há uma exploração disponível. Neste momento, o preço atual de um exploit pode ser cerca de USD $0-$5k agora. O projecto MITRE ATT&CK declara a técnica de ataque como T1059.007. Esta vulnerabilidade ocorre devido a este trecho de código:
function registration(){
if(!empty($_POST['password']))
$_POST['password'] = md5($_POST['password']);
else
unset($_POST['password']);
extract($_POST);
$main_field = ['firstname', 'middlename', 'lastname', 'gender', 'contact', 'email', 'status', 'password'];
$data = "";
$check = $this->conn->query("SELECT * FROM `customer_list` where email = '{$email}' ".(220369 > 0 ? " and id!='{220369}'" : "")." ")->num_rows;
if($check > 0){
$resp['status'] = 'failed';
$resp['msg'] = 'Email already exists.';
return json_encode($resp);
}
foreach($_POST as $k => $v){
$v = $this->conn->real_escape_string($v);
if(in_array($k, $main_field)){
if(!empty($data)) $data .= ", ";
$data .= " `{$k}` = '{$v}' ";
}
}
if(empty(220369)){
$sql = "INSERT INTO `customer_list` set {$data} ";
}else{
$sql = "UPDATE `customer_list` set {$data} where id = '{220369}' ";
}
$save = $this->conn->query($sql);
if($save){
$uid = !empty(220369) ? 220369 : $this->conn->insert_id;
$resp['status'] = 'success';
$resp['uid'] = $uid;
if(!empty(220369))
$resp['msg'] = 'User Details has been updated successfully';
else
$resp['msg'] = 'Your Account has been created successfully';
if(!empty($_FILES['img']['tmp_name'])){
if(!is_dir(base_app."uploads/customers"))
mkdir(base_app."uploads/customers");
$ext = pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION);
$fname = "uploads/customers/$uid.png";
$accept = array('image/jpeg','image/png');
if(!in_array($_FILES['img']['type'],$accept)){
$resp['msg'] = "Image file type is invalid";
}
if($_FILES['img']['type'] == 'image/jpeg')
$uploadfile = imagecreatefromjpeg($_FILES['img']['tmp_name']);
elseif($_FILES['img']['type'] == 'image/png')
$uploadfile = imagecreatefrompng($_FILES['img']['tmp_name']);
if(!$uploadfile){
$resp['msg'] = "Image is invalid";
}
$temp = imagescale($uploadfile,200,200);
if(is_file(base_app.$fname))
unlink(base_app.$fname);
$upload =imagepng($temp,base_app.$fname);
if($upload){
$this->conn->query("UPDATE `customer_list` set `avatar` = CONCAT('{$fname}', '?v=',unix_timestamp(CURRENT_TIMESTAMP)) where id = '{$uid}'");
}
imagedestroy($temp);
}
if(
= 1){
$user = $this->conn->query("SELECT * FROM `customer_list` where id = '{$uid}' ");
if($user->num_rows > 0){
$res = $user->fetch_array();
foreach($res as $k => $v){
if(
= 'password'){
$this->settings->set_userdata($k, $v);
}
}
$this->settings->set_userdata('login_type', '2');
}
}
}else{
$resp['status'] = 'failed';
$resp['msg'] = $this->conn->error;
$resp['sql'] = $sql;
}
if($resp['status'] == 'success' && isset($resp['msg']))
$this->settings->set_flashdata('success', $resp['msg']);
return json_encode($resp);
}
Está declarado como prova de conceito. Como 0-day, o preço estimado no mercado negro era cerca de $0-$5k. .
Produto
Fabricante
Nome
Versão
Licença
Site
- Fabricante: https://www.sourcecodester.com/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vetor: 🔍VulDB Fiabilidade: 🔍
CVSSv3
VulDB Meta Pontuação Base: 5.5VulDB Meta Pontuação Temporária: 5.3
VulDB Pontuação Base: 3.5
VulDB Pontuação Temporária: 3.2
VulDB Vetor: 🔍
VulDB Fiabilidade: 🔍
Pessoa Pontuação Base: 9.0
Pessoa Vetor: 🔍
NVD Pontuação Base: 6.1
NVD Vetor: 🔍
CNA Pontuação Base: 3.5
CNA Vetor (VulDB): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexidade | Autenticação | Confidencialidade | Integridade | Disponibilidade |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Pontuação Base: 🔍
VulDB Pontuação Temporária: 🔍
VulDB Fiabilidade: 🔍
Pessoa Pontuação Base: 🔍
NVD Pontuação Base: 🔍
Exploração
Classe: Script de Site CruzadoCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔍
ATT&CK: 🔍
Físico: Não
Local: Não
Remoto: Sim
Disponibilidade: 🔍
Estado: Prova de conceito
Google Hack: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Tendência de preços: 🔍
Estimativa de preço atual: 🔍
| 0-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoje | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Inteligência de ameaças
Interesse: 🔍Atores ativos: 🔍
Grupos APT ativos: 🔍
Contramedidas
Recomendação: nenhuma medida conhecidaEstado: 🔍
Tempo 0-dia: 🔍
Linha do tempo
07/02/2023 🔍07/02/2023 🔍
07/02/2023 🔍
27/04/2025 🔍
Fontes
Fabricante: sourcecodester.comPessoa: Pierfrancesco Conti
Empresa: Cyber Partners
Estado: Não definido
CVE: CVE-2023-0732 (🔍)
GCVE (CVE): GCVE-0-2023-0732
GCVE (VulDB): GCVE-100-220369
scip Labs: https://www.scip.ch/en/?labs.20161013
Entrada
Criado: 07/02/2023 21h04Atualizado: 27/04/2025 23h54
Ajustamentos: 07/02/2023 21h04 (39), 08/02/2023 14h11 (8), 08/02/2023 14h12 (15), 08/02/2023 14h15 (4), 06/03/2023 11h01 (2), 06/03/2023 11h07 (28), 07/09/2024 16h10 (22), 27/04/2025 23h54 (3)
Completo: 🔍
Submissor: CP_offensive_team
Editor: CP_offensive_team
Cache ID: 216::103
Submeter
Aceite
- Submeter #85725: SourceCodester Online Eyewear Shop 1.0 Cross-Site Scripting (de CP_offensive_team)
Duplicado
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Ainda sem comentários. Idiomas: pt + es + en.
Por favor, inicie sessão para comentar.