반응형

DreamHack 18

Lab: Blind OS command injection with time delays 문제 풀이(WriteUp)

문제 설명 Blind OS Command Injection을 통해 명령어를 실행하여 10초 지연하면 문제 해결 문제 풀이문제 접속 화면 피드백 작성 후 요청 피드백 요청 패킷 확인시 응답 값에 아무런 값도 반환되지 않음 email 파라미터에 '(싱글쿼터) 삽입 시 500 에러 발생 email 파라미터에 || 를 통해 sleep 명령어 삽입 시 명령어 작동sleep 1 명령어를 사용하여 1초 지연 sleep 5 명령어를 사용하여 5초 지연하여 문제 해결

Lab: OS command injection, simple case 문제 풀이(WriteUp)

문제 설명OS Command Injection을 통해 whoami 명령어를 사용하면 문제 해결 가능 문제 풀이문제 접속 화면 메인 페이지에서 View details 접속 후 재고 확인 시 남은 재고 출력 재고확인 요청 패킷에서 productId, storeId 파라미터 요청 파라미터에 '(싱글 쿼터) 삽입 시 에러 발생, 에러를 통해 사용자의 입력 값이 Command 명령어에 사용됨을 확인 storeId 파라미터에 ;ls; 명령어를 사용하여 추가적인 Command 공격 사용, 그 결과 응답 값에 ls 명령어의 결과가 반환됨 cat 명령어를 통해 stockreport.sh 파일을 확인한 결과 $1, $2를 통해 2개의 인자를 받고 있음$1은 productId, $2는 storeId임을 추측 가능 인자를 받..

드림핵 simple-phparse WriteUp

문제 풀이소스코드 host: $host path: $path query: $query"; if(preg_match("/flag.php/i", $path)){ echo "NO...."; } else echo "Cannot access flag.php: $path "; ?> parse_url($url, PHP_URL_PATH)의 값이 flag.php이면 차단되며, flag.php에 접속할 경우 flag를 확인할 수 있다. path에 //를 입력할 시 NULL이 되어 우회가 가능하다. 또한 fl%61g.php로 url인코딩으로도 해결할 수있다.  참고 문헌 PHP Parse_url 함수 분석 / 취약점 | 2017 블랙햇 SSRF 공격parse_url..

드림핵 access-log WriteUp

문제 풀이로그파일flag 부분에서 != 부분만 추출?id=1' AND 8487=IF((ORD(MID((SELECT IFNULL(CAST(COUNT(*) AS CHAR),0x20) FROM dvwa.flag),1,1))!=49),SLEEP(1),8487)-- Adyu&Submit=Submit HTTP/1.1" 200 1795 "-" ?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))!=68),SLEEP(1),9329)-- QEcW&Submit=Submit HTTP/1.1" 200 1806 "-" ?id=1' AND 9329=IF((ORD(MID((SELE..

드림핵 Dream Badge WriteUp

문제 풀이소스코드(server/Dockerfile)FROM php:8.1-apacheRUN apt-get update && apt-get install -y \\ libsqlite3-dev \\ && docker-php-ext-install pdo pdo_sqliteRUN mkdir -p /db && chmod -R 777 /dbWORKDIR /var/www/htmlCOPY . .RUN echo 'DH{sample_flag}' > /flagEXPOSE 80CMD ["apache2-foreground"]도커파일에서 /var/www/html 웹 루트에 COPY . .으로 현재 디렉토리의 모든 파일들을 복사한다.따라서 Dockerfile이 /var/www/html/Dockerfile에 복사가 되므로..

반응형