반응형

WEB hacking/드림핵(dreamhack) 33

Dreamhack Hello, go! WriteUp

문제 풀이app.go 분석 시 template을 사용하는데 name의 값을 %s로 입력 받으며, 사용자 검증이 없기 때문에 SSTI 공격이 가능하다.package mainimport ( "html/template" "net/http" "bytes" "fmt" "strings" "github.com/labstack/echo/v4")func greetHandler(c echo.Context) error { name := c.QueryParam("name") if name == "" { name = "go" } if strings.Contains(strings.ToLower(name),"flag"){ return c.String(http.StatusBadRequest, "flag is not allowed..

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

반응형