본문 바로가기

모의해킹/Dreamhack

(65)
[wargame.kr] dun worry about the vase 오라클 패딩 복호화 시스템에 암호문을 넣었을 때에 그에 대한 패딩의 올바름 유무를 보여주는 오라클 처음 웹 페이지에 들어가면 ID와 PW 입력 값에 자동으로 guest가 들어가 있어 로그인을 해주면 admin 세션이 아니라는 문구가 출력이 된다. 쿠키 에디터 툴을 사용해 세션을 보면 L0g1n와 value 값이 저장되어 있다,,! 이 문제는 위에서 말한 오라클 패딩 공격을 해야하는 문제이다. 해당 세션 값을 URL 디코딩을 해주면 암호화 값이 나온다,,! =이 보이는 걸 봐서 base64 암호화로 두 개의 세션을 합친 거 같다..! import base64 a = "9bJ/hFBcpjE=" b = "O1L1mtBDKO8=" a_decoded = base64.b64decode(a) b_decoded = b..
crawling 페이지를 보면 URL 주소를 입력을 했을 때, 그 주소에 대한 메인페이지를 크롤링해서 출력해 준다. @app.route('/admin') def admin_page(): if request.remote_addr != '127.0.0.1': return "This is local page!" return app.flag 소스 코드를 보면 /admin 경로로 이동을 할 때 127.0.0.1이 주소여야 하는 조건이 맞아야지 flag가 출력이 된다. refere에 127.0.0.1로 수정을 하고 보내면 되겠다고 생각을 했다. ip = lookup(urlparse(url).netloc) if ip == False or ip =='0.0.0.0': return "Not a valid URL." res=request..
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값이 잘려있는 ..