Translate

Mostrar mensagens com a etiqueta Hands-on Mainframe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Hands-on Mainframe. Mostrar todas as mensagens

terça-feira, 17 de fevereiro de 2026

🔥 criar versão COBOL hands-on (CICS + DB2)

 

Bellacosa Mainframe lab seu cics sob ataque


🔥💀 COBOL SECURITY LAB — “SEU CICS SOB ATAQUE”

Hands-on prático com CICS + DB2 para aprender segurança na marra


☕ INTRODUÇÃO

Você não vai só aprender…

👉 você vai:

  • explorar vulnerabilidade
  • corrigir
  • validar

💣 exatamente como um atacante faria


🧪 LAB 1 — SQL INJECTION NO DB2

🎯 Objetivo

Mostrar como um COBOL pode ser vulnerável


💻 Código vulnerável

IDENTIFICATION DIVISION.
PROGRAM-ID. LOGIN.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-USER PIC X(20).
01 WS-PASS PIC X(20).

PROCEDURE DIVISION.

EXEC SQL
SELECT NAME INTO :WS-USER
FROM USERS
WHERE NAME = :WS-USER
AND PASSWORD = :WS-PASS
END-EXEC.

💣 Ataque

Input:

' OR '1'='1

💥 Resultado

👉 bypass de autenticação


✅ Correção

IF WS-USER NOT ALPHABETIC
DISPLAY "INVALID INPUT"
STOP RUN
END-IF.

💬 Insight

👉 validação é a primeira defesa


🧪 LAB 2 — BUFFER / TAMANHO DE INPUT

🎯 Objetivo

Evitar overflow e dados inválidos


💻 Problema

01 WS-NAME PIC X(10).

Input:

AAAAAAAAAAAAAAAAAAAAAAAAAAAA

💥 Resultado

👉 truncamento / corrupção


✅ Correção

IF LENGTH OF WS-NAME > 10
DISPLAY "INPUT TOO LONG"
END-IF.

🧪 LAB 3 — HARDCODED PASSWORD

🎯 Objetivo

Eliminar segredo no código


❌ Código

MOVE "DB123456" TO WS-PASS.

💣 Problema

👉 vazamento garantido


✅ Correção

  • usar RACF
  • usar external security

👉 RACF


🧪 LAB 4 — VALIDAÇÃO DE COMMAREA (CICS)

🎯 Objetivo

Proteger entrada CICS


💻 Código vulnerável

MOVE DFHCOMMAREA TO WS-DATA.

💣 Problema

👉 dados maliciosos


✅ Correção

IF EIBCALEN = 0
DISPLAY "NO DATA"
RETURN
END-IF.

🧪 LAB 5 — LOGGING SEGURO

🎯 Objetivo

Evitar vazamento de dados


❌ Errado

DISPLAY "PASSWORD: " WS-PASS.

💣 Problema

👉 senha em log


✅ Correção

DISPLAY "LOGIN ATTEMPT".

🧪 LAB 6 — CONTROLE DE ACESSO (RACF)

🎯 Objetivo

Simular autorização


💻 Exemplo

CALL 'RACROUTE' USING ...

💬 Resultado

👉 só usuários autorizados acessam


🧪 LAB 7 — INTEGRAÇÃO COM API (RISCO REAL)

🎯 Objetivo

Simular API via CICS


💣 Problema

👉 input externo não confiável


✅ Solução

  • validar JSON
  • sanitizar campos

🧪 LAB 8 — TRATAMENTO DE ERRO

🎯 Objetivo

Não expor sistema


❌ Errado

DISPLAY SQLCODE.

💣 Problema

👉 revela estrutura interna


✅ Correto

DISPLAY "ERROR OCCURRED".

🧪 LAB 9 — CONTROLE DE TRANSAÇÃO

🎯 Objetivo

Evitar inconsistência


💻 Uso

EXEC CICS SYNCPOINT
END-EXEC.

💬 Importante

👉 protege integridade


🧪 LAB 10 — SIMULAR ATAQUE REAL

🎯 Objetivo

Mentalidade hacker


💻 Faça

  • testar inputs inválidos
  • tentar bypass
  • observar comportamento

💥 Resultado

👉 descobrir falhas reais


🧠 VISÃO FINAL

Você fez:

  • ataque
  • defesa
  • validação

👉 isso é segurança real


💬 FRASE FINAL

“Mainframe não é seguro por ser forte…
é seguro quando você fecha as portas certas.”