본문 바로가기

분류 전체보기

(1196)
[Webhacking] Javascript Comparison problem 자바스크립트는 두 값을 비교할 때 ,두 값 모두 객체가 아닐경우 valueOf, toString 함수를 이용해 원시 값을 가져와 비교하게 됨. var a = {} console.log(a.toString()); // [object Object] a.toString = () => 'dreamhack'; console.log(a == 'dreamhack'); // true a.valueOf = () => 'dreamhack2'; console.log(a == 'dreamhack2'); // true 객체 a의 문자열 원시값은 object object 이다. toString을 'dreamhack'을 반환하도록 수정하고 a와 'dreamhack'을 비교하니 true 반환 이를 ..
Model ensemble & multi thread architect 보호되어 있는 글입니다.
[wargame] php-1 https://dreamhack.io/wargame/challenges/46/?page=6 php-1 php로 작성된 Back Office 서비스입니다. LFI 취약점을 이용해 플래그를 획득하세요. 플래그는 /var/www/uploads/flag.php에 있습니다. Reference Server-side Basic dreamhack.io list.php List index.php PHP Back Office Home List View main 화면 List에서 flag.php를 누르면 이와같은 경로로 리다이렉트된다. view.php 소스를 확인해보면 preg_match를 통해 필터링을 하고있다. preg_match('/flag|:/i', $file) 정규식이 뒤의 값과 일치하면 1 아니면 0을 반환한다...
[wargame] Tomcat Manager 보호되어 있는 글입니다.
[Webhacking] PHP PHP - Include # short echo tag; php코드의 결과가 출력됩니다. 위와 같은 구문은 php 구문으로 해석됨. include 함수는 인자로 전달된 파일을 읽은 후 해당 파일의 내용을 출력함. 소스 구성이 위와 같을 때, /index.php?page=register.php 로 요청하면 register.php 로드해 보여줄 수 있음. include 는 파일에 php 코드가 있다면 파일 확장자와 상관없이 php코드가 실행됨. include 파일 조작 가능하다면 /index.php?page=/etc/passwd 과 같이 요청하여 서버 내 정보 출력 가능. 서버 로컬 파일을 include하는 취약점 => Local File Inclusion (LFI) 외부 자원을 include하는 취약점 =..
[Webhacking] language specific vulnerability 언어만의 특성, 함수에서 발생할 수 있는 취약점에 대해 다룸. Common 웹 어플리케이션 언어에서 공통적으로 조심해야 하는 함수 및 패턴 eval : 인자로 들어온 string을 그대로 실행시키는 함수. x를 인자로 받아 eval 인풋으로 주는 경우, 프로그램 코드로 실행가능. x = str(input(">> input some text for mathematical expression : ") print eval(x) >> input some text for mathematical expression: __import__('os').system('ls /') ApplicationsVolumeshometmp Developerbininstaller.failurerequestsusr Librarycores..
[Webhacking] business logic vulnerability Business logic은 규칙에 따라데이터를 생성.표시.저장.변경하는 로직, 알고리즘 등을 말함. 비즈니스 로직 취약점은 서비스의 기능에서 적용되어야 할 로직이 없거나 잘못 설계된 경우 발생. Injection, File vulnerability는 악의적인 데이터가 서버의 시스템 상에서 악영향을 미치는 공격을 수행. 1. 사용자가 게시물 수정을 요청한다. 2. 로그인된 사용자인지 확인한다. 3. 수정을 요청한 사용자가 해당 게시물을 수정 할 수 있는 권한인지 확인한다. 4. 2,3번 과정이 확인되면 데이터베이스에 사용자가 입력한 정보로 수정한다 3번 과정 누락 시에 공격자가 다른 사용자의 게시물 수정 가능. Business Logic Vulnerability 어플리케이션의 검증 부재 또는 미흡의 이유..
[wargame] xss-2 https://dreamhack.io/wargame/challenges/268/writeups xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Reference ClientSide: XSS dreamhack.io #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt",..