해킹(37)
-
6번 OTP 우회문제
마지막 문제인데 생각하다가 결국 못풀은 OTP 우회문제 풀이를 보았다.... 아니 이럴수가.. 처음 짧게 생각한 나의 생각이 맞았군. 나는 계속 코드 보면서 아..이거 뭐지...단순 반복 공격은 아닐텐데 라고 생각하고있었다. 왜냐하면 반복은 서버에 부담을 주니까?? 일단 풀이는 인증 코드는 0000부터 9999까지 있는데 틀렸을때 횟수 제한이 없으니까 Burp Suite의 Intruder를 통해서 0000부터 9999까지 다 넣어보는것이다. 너무 어렵게 생각했나 싶다...
2023.04.14 -
SQL Injection - Union
Union은 두개 이상의 테이블을 하나로 뭉치는? 집합하는 그런것이다. 그니까 MEMBER 테이블에 Id와 Password 컬럼이 있다고 가정하고 각각 2개의 데이터 one,1234 two,4321 이라는 id/password 값이 있다고 가정한다. 그렇다면 SELECT * FROM MEMBER UNION SELECT '1111','2222' 이렇게 한다면. 어떤 결과가 나올까? 바로 one 1234 two 4321 1111 2222 라는 결과가 나온다. 눈치를 채신분도 있겠지만 굉장히 위험한 녀석이다. 바로 결과를 변조하는 것이다. Union을 통해서 id가 1111,2222라는 결과를 넣었지만. 이것을 admin으로 바꾼다면? SELECT * FROM MEMBER UNION SELECT 'admin'..
2023.04.14 -
SQL Injection 학습
SQL Injection은 보다시피 SQL 질의문을 삽입하는 공격입니다. 공격을 당할시 DB에 있는 데이터가 유출되거나 인증을 우회해서 관리자 권한으로 로그인하거나 심지어 DB의 데이터 변조까지 가능한 무서운 공격입니다. 로그인 SQL문이 이렇게 있다고 가정해봅시다. SELECT * FROM MEMBER WHERE id = ? AND password = ? 그렇다면 클라이언트에서 로그인 정보를 서버에게 보낼것입니다. 나는 id가 mario고 password 가 mariosuper야. 그럼 저 ? 자리에 사용자가 입력한 문자가 전달되겠죠. 그러면 SQL문은 SELECT * FROM MEMBER WHERE id = 'mario' AND password = 'mariosuper' 가 됩니다. 만약 mario라..
2023.04.14 -
SQL학습
먼저 데이타베이스를 모르는 사람들을 위한 설명 데이타베이스는 엑셀을 생각하면 된다. 데이타베이스는 하나의 엑셀 파일이고 엑셀의 시트는 DB의 테이블이라고 생각하면 된다. 그안에 행/열을 각각 Column/row라고 부른다. WAS 와 DB에서 서로 소통할때 사용하는것이 SQL 질의문이다. SQL 질의문중 DB에 있는 데이터를 보고싶을때 쓰는게 있다. 바로 SELECT다 SELECT는 어떤 식으로 되어있냐면 보통 SELECT 컬럼이름 FROM 테이블 이름 이런 형식으로 되어있다. 그러므로 DB에 있는 MEMBER(회원) 테이블의 회원 ID를 뽑아올때. SELECT ID FROM MEMBER; 를 하면 MEMBER(회원) 테이블의 회원의 ID가 모두 출력된다. 하지만 회원의 ID만 말고 회원의 이름,pass..
2023.04.14 -
4번 로그인 우회문제
일단 문제에 주어진 '도구'가 하나 있다. id = mario password = mariosuper 이거로 먼저 로그인을 해서 페이지를 탐색함 페이지를 탐색한 결과, Loginproc이라는 페이지에 get 방식으로 mario,mariosuper가 넘어간것을 확인할 수 있음. 그렇다면? Loginproc는 사용자 로그인 정보를 확인하고 권한을 부여하는 페이지? 라고 생각할수있다. 그렇다면? 우리는 Loginproc에 데이터를 조작해서 공격하면 된다는 뜻! 먼저, Loginproc이라는 페이지를 직접 들어감 'Get' 방식으로 데이터를 전달하니까 Url에 직접 써봄. loginProc.php?userid=mario&userPw=mariosuper {"result":"ok"} 라고 뜨는것을 볼 수 있다. 그..
2023.04.10 -
해킹 찍먹 2.XSS
XSS는 크로스 사이트 스크립팅으로 악의적인 사용자가 입력란에 악성 스크립트를 작성해서 DB에 전달이되면 사용자가 그것을 불러올때 악성 스크립트가 실행되어서 정보가 탈취되는 해킹 방법이다. 게시판같은 여러사용자가 접근가능한곳이 위험하다. 크로스 사이트 스크립팅을 하기위해서 먼저 게시판을 만들었고 작성글을 등록할때 스크립트를 넣어보았다. 악성 코드는 초짜이기때문에 기본적인 자바스크립트 alert('ss')를 게시판 글에다가 올림 그리고 게시글을 보는데...!!!!! 게시글에 텍스트(p태그로) alert('ss')가 당당히 보이고있다. 스크립트가 실행이 안된것이다. 그렇게 쉽게 털리면 안되지. 음음 이유를 알아보았다. 현재 게시판은 타임리프의 th:text를 써서 게시글을 보이고있는데, th:text는 자동..
2023.04.01