Regex

Web Hacking Advanced

[dreamhack] Mango

문제분석 & 풀이uid와 upw를 전송해서 로그인하는 방식이다. 그대로 요청해보면 guest로 로그인된 것을 확인할 수 있다. 로그인이 성공하면 uid가 출력된다. 목적은 upw를 구해야하므로 blind nosql injection을 수행해야한다고 짐작할 수 있다. const db = mongoose.connection;...app.get('/login', function(req, res) { if(filter(req.query)){ res.send('filter'); return; } const {uid, upw} = req.query; db.collection('user').findOne({ 'uid': uid, 'upw': up..

Web Hacking Advanced

[dreamhack] command-injection-1

개념정리Command injection에 대해 알아보자. ○ Command Injection인젝션은 악의적인 데이터를 프로그램에 입력하여 시스템 명령어, 코드, 데이터베이스 쿼리 등이 실행되게 하는 기법을 말한다. 이 중, 시스템 명령어를 실행하게 하는 취약점을 Command Injection이라고 부른다. Command Injection은 사용자의 입력값을 제대로 검증하지 않는 경우에 발생한다. 특히, 리눅스에서는 여러 명령을 연속으로 실행할 수 있는 메타문자들을 제공하기 때문에 공격자는 Command Injection을 수행하여 본인이 원하는 명령을 실행시킬 수 있다. ○ 메타 문자 종류명령어 치환` `` ` 안에 포함되는 명령어를 실행한 결과로 치환한다.$()$()안에 들어있는 명령어를 실행한 결과..

webhacking.kr

[webhacking.kr] old-11 [Regex]

문제분석 & 풀이코드를 확인해보자. Wrong"); echo("");?>$pat에 정규표현식이 저장된다.  해당 정규표현식은 $_GET['val']를 검증하는 과정에서 사용한다. 정규표현식 패턴을 분석해서 val 파라미터로 전송할 데어티를 만들어보자. 정규표현식은 .을 기준으로 3가지로 분류할 수 있다.[(1~3 사이의 숫자) 또는 (a~f 사이의 알파벳) 5자리].[IP 주소].[탭+p+탭+a+탭+s+탭+s]위 조건을 만족하는 3가지를 구성해서 완성하면된다. 필자는 다음과 같이 완성했다. 1aaaaa_.[본인 pc IP 주소].%09p%09a%09s%09s %09는 tab을 url 인코딩한 값이다. 정규표현식을 보면, "pass" 사이마다 tab을 했기 때문에 사용했다. GET 방식으로 파라미터를 통..

keyme
'Regex' 태그의 글 목록