본문 바로가기

모의해킹

(163)
Tomcat Manager Tomcat Manager취약점으로 관리자 인증을 위한 페이지가 쉽게 인지 가능하거나 유추로 인해 접근이 되는 경우이다. 기존의 Tomcat Web 환경의 관리자 콘솔을 사용하지 않아 톰캣 폴더 안에 있는 manger 폴더명을 바꾸지 않아서 생기는 취약점이다. 기본 소스코드를 보면 username은 나와있지만 password는 나와있지 않다,,, password값을 얻으면 로그인을 할 수 있을 거 같다...! 도커 파일을 보니 tomcat-users.xml 에 정보가 들어있을 거 같다.,! 직접 접근을 하면 404 오류가 뜬다,,, 개발자 모드로 페이지 소스코드를 보면./image.jsp의 file파라미터를 이용해서 path traversal 공격을 하면 되겠다고 생각을 해서 버프 스위트 툴을 실행시켰다..
funjs 입력하는 부분이 계속 시간이 지날 때마다 움직인다. 여기 문제는 소스파일은 따로 없다,,, 개발자 모드에 들어가니 안에 가 작성이 되어있다. 스크립트 코드가 난독화 되어 있다,,,,,하나씩 분석해 보자.! var box; window.onload = init; // 초기화 하는 부분 function init() { box = document.getElementById("formbox"); 여기에서 밑에 함수 호출 setInterval(moveBox,1000); } // 여기가 입력하는 공간 움직이는 곳! function moveBox() { box.posX = Math.random() * (window.innerWidth - 64); box.posY = Math.random() * (document.do..
weblog-1 5개의 문제를 풀면 되는 문제이다. 로그를 보면 board 페이지에서 Blind SQL 인젝션을 했던 기록이 적혀있다. 참일 경우 500 상태코드를 보여주고 거짓일 경우 200이 되는 로그이다. sort=if(ord(substr((select group_concat(username,0x3a,password)from users),18,1))=49, (select 1 union select 2),0) select group_concat(username,0x3apassword) from users => user 테이블에서 username 과 password 을 출력 (username:password)형식 substr((select group_concat(username,0x3a,password) from us..
login-1 ∙ 알고 있어야 하는 지식 - 레이스 컨디션 공격 기법 한정된 자원을 동시에 이용하려는 여러 프로세스가 자원의 이용을 위해 경쟁을 벌이는 현상을 이용하여 root 권한을 얻는 공격 기법이다. 로그인 페이지에서 admin으로 로그인을 하면 되는 문제이다..! 회원가입 페이지에서 admin계정이 만들어지고 로그인까지 된다,,,,? 아마도 Level에 있는 guest 부분이 admin으로 변경이 되어야지 flag 값이 출력이 될 것 같다.. ∙ 소스코드 분석 userLevel = { 0 : 'guest', 1 : 'admin' } userLevel에 따라 guest, admin이 결정이 된다. @app.route('/user/') def users(useridx): conn = get_db() cur = co..
SSTI(취약점 개념) Template을 사용하여 %s 부분에서 {{data}} 을 입력을 하면 해당 {{{ }} 안의 코드가 실행이된다,,!!
baby-union 쿼리에 맞춰 SQL 인젝션으로 문제를 푸는 거다,,, 쿼리에 맞춰서 admin' or 1=1 -- - 을 입력하면 밑에 사진처럼 admin으로 로그인이 된 걸 볼 수 있다.~! 기본적인 쿼리는 찾았으므로 이제 flag을 찾으면 된다~! ∙ 수동으로 찾기 칼럼 개수를 보니 'order by 5에서 에러 페이지가 노출이 된다. 즉 칼럼의 개수는 4개이다~! 사용할 수 칼럼의 번호는 1, 2, 4번이다. 데이터베이스 이름을 확인해 본 결과 secret_db의 데이터베이스가 있다. 테이블 정보를 확인했을 때, 여러 개의 테이블 정보가 출력이 된다.... onlyflag 테이블이 있다,, 여기에 flag 정보가 들어있을 거 같다... sname, svalue, sflag을 출력해 보자... flag값이 잘려있는 ..
Type c-j • 알아야 할 것!!!!!! - magic hash (PHP에서 사용하는 특수동작) '0' == 0를 비교하면 두 개의 자료형이 달라도 데이터만 일치하며 TRUE를 반환한다.(최적의 자료형을 찾는다 => string >> float >> int 형 순이다) -> A === B을 사용한다 ex) 지수를 통한 인증을 우회하는 방법 : 0e12345 == 0의 결과는 TRUE ID와 Password를 통과를 하며 되는 문제이다. 3개의 PHP 소스가 있지만 우리가 봐야 할 소스는 check.php 만 보면 된다. if((int)$input_id == $id && strlen($input_id) === 10){ echo 'ID pass. '; if((int)$input_pw == $pw && strlen($in..
Broken Buffalo Wings • 이 문제를 풀기 위해 알고 있어야 할 것 - PHP Output Buffer 말그대로 출력할 때 버퍼에 담아놓았다가 일정 이상이 차게 되면 한 번에 출력하게 끔 해준다. 버퍼를 초과하는 문자열을 넘겨준다면 오버플로가 발생하고 출력버퍼는 헤더정보까지 포함하여 비워지게 된다. 메인 페이지를 봤을때, XSS 취약점인가...? 소스 코드를 한번 보자..!