분류 전체보기 (295) 썸네일형 리스트형 Dreamhack : XSS Filtering Bypass Write-Up def xss_filter(text): _filter = ["script", "on", "javascript:"] for f in _filter: if f in text.lower(): text = text.replace(f, "") return text @app.route("/vuln") def vuln(): param = request.args.get("param", "") param = xss_filter(param) return param 해당 Challenge의 주요 부분은 위와 같다. vuln 페이지에서 param에 대한 인자 값을 xss_filter 함수로 필터링한다. xss_filter 함수는 ["script", "on", "javascript:"] 를 필터링 한다. 위와 .. XSS 정리 XSS 공격은 동적처리가 이루어지는 웹 애플리케이션에 대해 악의적인 스크립트( 클라이언트 사이드 스크립트 중 JavaScript )를 삽입하여, 사용자에게 비정상적인 행위를 강제적으로 유도하는 공격이다. XSS에 대한 구분은 아래와 같다. ( Universal XSS는 이번 정리를 통해 처음 알게되었다. https://github.com/Metnew/uxss-db?tab=readme-ov-file ) DOM-based XSSXSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS ( Fragment는 서버 요청/응답 에 포함되지 않는다. )Reflected XSSXSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSSStored XSSXSS에 사용되는 악성 .. Dreamhack : xss-2 Write-Up [[ xss-1 문제 ]] @app.route("/vuln") def vuln(): param = request.args.get("param", "") return param [[ xss-2 문제 ]] @app.route("/vuln") def vuln(): return render_template("vuln.html") XSS-2 가 XSS-1 문제와 달라진 부분은 위의 /vuln 엔드 포인트에 render_template 함수를 통해 페이지를 랜더링 하고 있다는 것이다. ( render_template 함수는 Flask 웹 프레임워크에서 제공하는 함수로, Jinja2 템플릿 엔진을 사용하여 HTML 템플릿 파일을 렌더링한다. 주어진 템플릿 파일( vuln.html )의 이름과 함께 전.. Dreamhack : xss-1 Write-Up def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) driver.add_cookie(cookie) driver.get(url) read_url 함수의 주요 부분이다. cookie.update({"domain": "127.0.0.1"}) 를 통해 쿠키가 유효한 범위(도메인)가 127.0.0.1 이란 것을 알 수 있다. 여기서 127.0.0.1 은 Target 서버의 local ip이다. @app.route("/flag", methods=["GET", "POST"]) def flag(): if request.method == "GET": return render_t.. md5( ) md5( ,true) 차이 md5('value') 와 같이 쓰이는 경우와 md5('value',true) 와 같이 쓰이는 경우가 있다. 두 경우의 차이점을 어렴풋이 알고 있지만, 기회가 되어 정리하고 넘어가고자 한다. php 의 md5() 함수는 아래와 같은 형식을 가진다. md5( string $str , [ bool $raw_output = FALSE ] ) str 은 해시 값을 생성할 문자열이며, 뒤의 옵션 부분을 true로 설정하면, 32 자리 문자열 ( md5 다이제스트 ) 이 반환되는 대신에 길이가 16인 원시(raw) 바이너리 형식으로 반환된다. 위 실행 코드 중 $php_magic_hash 에 대한 결과는 PHP 의 magic hash란 특수동작에 관한 예제이다. ( a == b와 같은 약한 비교 일 경우에 발생하는.. Webhacking.kr : old-50 Write-Up Webhacking.kr : old-8 Write-Up LORD OF SQLINJECTION : green_dragon Write-Up if(preg_match('/prob|_|\.|\'|\"/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\.|\'|\"/i', $_GET[pw])) exit("No Hack ~_~"); $query = "select id,pw from prob_green_dragon where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; echo "query : {$query} "; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']){ if(preg_match('/prob|_|\.|\'|\"/i', $result['id'])) exit(.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 37 다음