반응형

해킹 56

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에 복사가 되므로..

드림핵 Replace Trick! WriteUp

문제 풀이소스코드@app.route('/check')def check():input_flag = request.args.get('flag', '')modified_input = input_flag.replace('flag', '')if modified_input == 'flag' return FLAGelse return "Wrong input! Try again."modified_input 값이 flag이면 FLAG를 확인할 수 있다. modified_input은 input_flag에서 replace함수로 처리된 결과이다. replace 함수는 1번만 변경하기 때문에 flflagag를 입력할 경우 flag가 반환이된다. 따라서 flag값에 flflagag를 입력하면 문제를 해결할 수 있다.

반응형