Web Hacking Advanced

Web Hacking Advanced

[dreamhack] xss-1

개념정리○ XSS크로스 사이트 스크립팅(Cross Site Scripting, XSS)은 공격자가 공격대상의 브라우저에서 스크립트가 실행되도록 유도하여 사용자의 세션을 가로채거나, 웹사이트를 변조 또는 악의적 콘텐츠등을 수행하는 것을 말한다. XSS를 근본적으로 제거하기 위해서는 태그 삽입이 되지 않도록 처음부터 원인을 제거하는 것이 중요하다. ○ XSS 종류Stored XSS: XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSSReflected XSS: XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSSDOM-based XSS: XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSSUniversal XSS: 클라이언트의 브라..

Web Hacking Advanced

[dreamhack] simple-ssti

개념정리SSTI에 대한 개념을 간단하게 짚고 넘어가자. ○ SSTISSTI(Server Side Template Injection)취약점은 웹 어플리케이션에 적용된 웹 템플릿 엔진(Web Template Engine)에 공격자의 공격 코드가 템플릿에 포함된 상태에서 서버 측에서 템플릿 인젝션 되는 공격 SSTI 취약점은 서버 측에 Template이 구성되어 있고 사용자 입력이 기존 Template에 삽입되는 경우 공격자는 Template 구문을 이용해 악성 페이로드를 삽입하여 공격자가 원하는 액션을 수행하도록 하는 공격이다. [그림]의 SSTI 공격 구성도와 같이 공격자가 kw에 {{ 2*2 }}라는 Template 구문을 입력하면 사칙연산 결과인 4라는 값이 리턴되면서 공격자가 삽입한 Template구..

Web Hacking Advanced

[dreamhack] file-download-1

개념정리파일 다운로드 취약점에 대해 알아보자. ○ 파일다운로드 취약점파일 다운로드 기능 사용 시,임의의 문자나 주요 파일의 입력을 통해 웹 서버의 홈 디렉터리를 벗어나 임의의 위치에 있는 파일을 열람하거나 다운 가능한 취약점이다. (passwd, 중요파일/백업, 데이터베이스, 소스코드 등) ○ 발생원인파일 다운로드 시 파일의 절대 경로 또는 상대 경로가 노출되는 경우다운로드 모듈이 파일의 경로나 이름을 파라미터로 사용하는 경우파일 경로와 파일명 필터링 미흡하여 ../를 이용해 상위 디렉터리에 접근이 가능한 경우다운로드 경로가 노출되지 않더라도 구조가 단순하여 파라미터 변조를 통해 접근이 허용되지 않은 파일에 접근이 가능할 경우 위와 같은 케이스들에 해당한다면 공격자는 파일 다운로드 취약점으로 서버 내부에..

Web Hacking Advanced

[dreamhack] simple_sqli

개념정리○ SQL InjectionSQL Injection은 웹 어플리케이션에서 입력 데이터의 유효성 검증을 하지 않아서 개발자가 의도하지 않은 동적 쿼리를 생성하여 DB 정보를 열람하거나 조작할 수 있는 보안 취약점이다. 웹 어플리케이션은 유저의 행동(클릭, 입력 등)에 따라 DB에 있는 데이터를 서로 다르게 표시한다. 이를 위해 Query는 유저가 입력한 데이터를 포함하여 Dynamic 하게 변하므로 개발자가 의도하지 않은 정보를 열람할 수 있게 된다. 예를 들어 다음 쿼리문을 이용해서 로그인을 수행한다고 해보자.select * from user where id = "{$id}" and pw = "{$pw}"만약, admin 계정으로 로그인하고 싶은 상황이라면 admin 계정에 맞는 id와 pw를 입..

Web Hacking Advanced

[dreamhack] sql injection bypass WAF

개념정리○ WAF웹 방화벽(Web Application Firewall, WAF)은, 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션이다. 웹 방화벽의 기본 역할은 SQL Injection, Cross-Site Scripting(XSS)등 웹 공격을 탐지하고 차단하는 것이다. 웹 방화벽은 직접적인 웹 공격 대응 이 외에도 정보유출방지솔루션, 부정로그인방지솔루션, 웹사이트위변조방지솔루션 등으로 활용이 가능하다. 정보유출방지솔루션으로 웹 방화벽을 이용할 경우, 개인정보가 웹 게시판에 게시되거나 개인 정보가 포함된 파일 등이 웹을 통해 업로드 및 다운로드 되는 경우에 대해서 탐지하고 이에 대응하는 것이 가능하다. 문제분석 & 풀이SQLi 으로 WAF를 우회하..

Web Hacking Advanced

[dreamhack] session-basic

문제분석 & 풀이admin으로 로그인하는 것이 목적이다. Login 페이지는 존재하지만, sign up 페이지가 존재하지 않아서 계정을 만들 수 없다. users = { 'guest': 'guest', 'user': 'user1234', 'admin': FLAG}코드를 확인해보면, guest 계정이 존재한다. guest로 로그인하면 admin이 아니라는 문구가 뜬다. 세션을 쿠키를 이용해서 관리했으므로 쿠키를 확인했다. [개발자 도구]로 쿠키를 확인하면 sessionid 라는 쿠키가 있다. @app.route('/login', methods=['GET', 'POST'])def login(): if request.method == 'GET': return render_te..

keyme
'Web Hacking Advanced' 카테고리의 글 목록 (5 Page)