목록전체 글 (420)
외로운 Nova의 작업실
- 문제 설명 플래그는 / 디렉터리에 flag 파일로 존재한다고 합니다. - 소스코드 const express=require('express'); const bodyParser=require('body-parser'); const ejs=require('ejs'); const hash=require('crypto-js/sha256'); const fs = require('fs'); const app=express(); var file={}; var read={}; function isObject(obj) { return obj !== null && typeof obj === 'object'; } function setValue(obj, key, value) { const keylist = key.spli..
- 취약점 소개 개발자들이 유지보수나 디버깅시 인증을 회피할 목적으로 만든 백도어가 있을 수 있습니다. 이러한 개발자의 백도어가 공격자에게 발견되면 시스템에 큰 위험을 초래할 수 있습니다. - 취약점 진단 과정 DoLogin$RequestTask.class 코드를 보겠습니다. package com.android.insecurebankv2; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.util.Base64; import android.util.Log; import java.io.BufferedReader; import java.io.IOExce..
- 취약점 소개 로그인 에러메시지에서 계정이 없는 경우, 비밀번호가 틀린경우에따라 에러메시지가 다르다면, 이를 이용해서 사용자 계정 목록을 획득할 수 있는 취약점을 말합니다. - 취약점 분석 먼저 계정이 없는 경우 에러메시지를 보겠습니다. User Does not Exist라는 에러메시지가 나옵니다. 이제 패스워드가 다른 경우를 보겠습니다. Wrong the password라는 에러메시지가 나옵니다. 이제 올바른 경우를 보겠습니다. Correct Credentials라는 메시지가 나옵니다. 이러한 정보를 토대로 서버에 저장된 사용자의 계정 및 패스워드등을 알아낼 수 있습니다. - 취약점 대응 방안 로그인 실패시 메시지는 상세한 피드백을 제공하지않고 포괄적으로 대응해야합니다. 로그인 시도 속도를 제한하여 ..