wargame/WDVWA 썸네일형 리스트형 SQL Injection(Medium) 문제 sql injection인데... 입력란이 없다..... 숫자를 선택하고 submit해보니까.. 뜬다.. 소스를보자 입력란도 없는데 escape한다.......뭐지..심지어 값도 post로 넘어간다.. burp suite를 켜보자..넘어가는 값을 intercept 해보니 오호라.. id값을 조작해보자. 요로코롬 결과는 성공...union select 이용해서 db값 뺴는건 low에서도 했으니......... skip.. low와 medium의 차이는 input을 통해서 하느냐 burp suite를 이용해 파라미터 변조를 하냐의 차이인듯끝~ 더보기 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.. 더보기 File Upload(medium) 문제는 같고 소스를 바로보면upload type이 jpeg와 png만 된단다 그래서 아까 php파일을 그냥 업로드했더니.. 안된다. 그래서 aaa.php.jpg를 했더니 성공적으로 업로드 됐다. 이때 burp suite를 이용해서 내용물을 봤더니 내용에 aaa.php.jpg라 써있지만 php 파일 내용이 실행됐다.그래서 .jpg를 빼고 실행했다. 요렇게 그랬더니 굿 끝 더보기 File Upload(low) 문제 file을 업로드한다 소스를 보면 low는 다 필터가없는거같다. 딱히 파일 확장자에 대한 검증이 없기에 php파일을 넣어봤다. 넣어보면 파일의 경로와 함께 php파일이 잘 업로드 된다 그래서 php로 cat /etc/passwd를 실행시켜보자. 굿ㅋ 끝 더보기 File Inclusion(Medium) 문제는 같다.근데 medium도 같이 file4가 그냥 열리길래 뭔가하고 소스를 다시보니까url 취약점을 이용해서 /etc/passwd를 띄워보자 해서 low에 다시해봤다. (low) 이렇게 출력된다 다시 medium을 보면 str_replace를 통해서 ../를 ..\으로 바꾼다.여기서 문득 생각난게 codegate 대학생부 참석했을때 /와 //가 같은 역할을 한다는점을 착안하여 해봤더니 됐당 더보기 File Inclusion(low) 문제 php function에 allow_url_include 설정바꾸란다 하고 service apache2 restart 를 한다 그담에 소스를 보면 필터가없당 file3을 클릭해보니 url상에 다뜬다 그래서 4로바꿔봤더니.. 끝 더보기 이전 1 2 다음