본문 바로가기

Stored XSS(Low) 문제 이번에는 게시판형식으로 name과 message를 입력가능하다. test / test를 입력해보니 정상입력된걸 확인할 수 있다. 소스를 보자. 소스에서 취약점을 찾아보면guestbook DB에 사용자가 입력한 name과 Message가 저장되고, 이 소스내에서는 script문을 방어하는 코드가 없다. 공격해보자. 정상 입력되는것을 확인하였고.. 새로고침을 하면 이렇게뜬다. 이취약점을 이용하여 재미난걸해보자우선 /가 들어가는지 확인을위해 //를 입력해보니 잘 됐다. 처음에는 argos.or.kr에 연결하려 했으나...길이때문에 입력이 안돼서 naver로 연결했다. 결과는 잘 입력됐고..naver로 바로 연결돼서 캡쳐를 따로 하지않았다. 끝 참고http://ingeni.tistory.com/entry/.. 더보기
Reflected_XSS(Low) XSS Cross Site Scripting 공격은 애플리케이션에서 브라우져로 전송하는 페이지에서 사용자가 입력하는 데이터를 검증하지 않거나, 출력 시 위험 데이터를 무효화 시키지 않을 때 발생하는것이당 즉, 공격자가 의도적으로 브라우저에서 실행될 수 있는 악성 스크립트를 웹 서버에 입력 또는 출력 시 위험한 문자를 필터하지 않고 처리하는 과정에서 발생한다.참고 : www.kisa.or.kr/uploadfile/201312/201312161355109566.pdf 문제를보자 입력을 받는다. 111을 입력하니 Hello 111뜬다. 전달값은 주소창을 통해 넘어간다. 소스를보자별거없다. Cross Site Scripting의 기초를 넣어보니 안뜬다.. 정상적이라면 alert로 1이 떠야하지만.... 뭐지 하.. 더보기
Blind SQL Injection(Low) Blind SQL Injection(Low)다. 우선 Blind SQL Injection 와 Sql injection과의 차이점은 위키백과를 보면,평범한 SQL 삽입과 같이 원하는 데이터를 가져올 쿼리를 삽입하는 기술이다.......중략........Blind SQL Injection은 참과 거짓, 쿼리가 참일때와 거짓일 때의 서버반응만으로 데이터를 얻어내는 기술이다. 즉, 정상적인 요청 뒤에 sql 쿼리가 붙어도 참값이 되어 페이지를 정상적으로 출력하지만,거짓값으로 sql 쿼리가 붙을 시에는 아무것도 페이지는 뜨지 않게된다. 즉, 페이지가 뜨면 쿼리가 참, 페이지가 뜨질 않는다면 쿼리값은 거짓. 이점을 노려 공격한다. 문제를보자 소스를 보면 대충 크게 다를것 없다..입력해보자 1~5 까지의 입력시에는 .. 더보기
SQL injection(low) Sql Injection 이다. 문제를 보면 id를 입력하란다.다른 입력은 안되고 숫자만된다.1~5까지..db내에서 id가 숫자로 저장해놓았나보다 소스를 보자 query를 보면 select first_name, last_name from user where user_id - '$id';"를 이용해서 쿼리를 불러온다 그리고 db에 연결하고..while문을 이용해서mysql_result함수를 이용해서 result(질의결과)를 넣는당그리고 echo로 출력한다. 역시나 필터가 없기에.... sql_injection을 했고.. 당연히 됐다.그래서 뭔가 더 있을거같아서 union select 구문을 이용한 공격을 실행해봤다. 간단히 version을 확인하기위해 ' union select @@version, 1#을 .. 더보기
CSRF(low) Cross Site Request Forgery(low)크로스 사이트 요청 위조공격..사용자가 현재 로그인해 있는 취약한 사이트로 악의적인 사이트에서 요청을 전송하는 공격이다. 1. 사용자가 정상적으로 로그인 시 정상적인 쿠기를 발급받는다.2. 공격자는 공격페이지를 생성하여 링크를 통해 연결될 수 있게한다.3. 일반적인 페이지는 출발지와 도착지가 있는데, 공격페이이지의 경우 도찰지를 변조할 수 있다.4. 사용자가 공격용 페이지를 열면, 공격용 URL이 실행된다.5. 사용자의 승인없이 출발지와 도착지가 등록됨으로써 공격이 완료된다.6. 단순히 쿠키를 통한 본인확인밖에 하지 않기때문...... 문제당비밀번호를 바꾸는 창이다. 소스를보면change가 넘어오면 실행한다. 그리고 pass_new, pass_con.. 더보기