본문 바로가기

전체 글

(119)
CSRF 공격 - 실습 (1번 풀이) CSRF 공격 실습을 해보겠습니다. 일단 정상대로 회원가입을 하고 로그인을 해보겠습니다. 그다음에 저희는 특정 아이디의 비밀번호를 변경을 하는 거잖아요? 그러니 한 번 비밀번호 수정을 해보겠습니다. 그런 다음 버프 스위트 통해 확인해보겠습니다. 그냥 단순하게 id가 hello 이고 새로운 비밀번호를 작성해 보내기만 해도 되는지 한 번 리피터로 이용해 보겠습니다. 그럼 이번엔 GET 방식으로도 통하는지 해 보겠습니다. 그럼 이 걸 이용하겠습니다. id도 자동으로 할당이 되고 비밀번호 값만 바꾸면 되겠죠? 그러니깐 링크 생성 할 때 이 마이페이지의 링크 이용하면 되겠죠 http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php?info=&pw=12345654321 ..
CSRF 정리 안녕하세요 이번에는 CSRF 즉 Cross Site Request Forgery 공격을 공부하겠습니다. 이번 공격을 요약을 하면 클라이언트가 모르게 비밀번호를 바꾸게 하는 공격입니다. 어떻게 하는지는 실습하면서 보여드리는 데 이번 포스팅은 일단 이론만 설명드리고 다음 포스팅에 실습하면서 보여드리겠습니다. - CSRF ?- 공격자가 CRSF 스크립트가 포함된 메시지 또는 게시물을 넣었을 때 사용자가 그 스크립트을 확인하는 순간 사용자가 사용하는 세션을 가져오고 그걸 통해 비밀번호를 바꾸거나 다른 정보를 빼오는 겁니다. 방금 세션을 가져온다고 했잖아요? 바로 이 세션을 이용해서 악의적인 공격을 하는 것이 주 공격입니다 그래서 제약이 있습니다. 사용자가 로그인을 한 상태여야만 가능한 공격입니다. 그래서 게시판..
XSS 공격 기법 정리 (총 정리) 이번에 크사 공격을 또 정리를 하겠습니다. 저희가 해킹을 공부하면서 가장 중요한 게 응용인 거 같아요 왜냐하면 저희가 취약점을 찾으면 얼마나 중요한지 얼마나 공격을 당하는 지까지 알아야 되니깐요 취약점을 찾았는데 공격이 안되면 그게 중요한 취약점이라고 느끼지 않잖아요 그러니깐 저희가 한 번 나쁜 사람이 되어서 취약점을 찾고 이걸 이용하여 어떻게 공격을 하면 되는지 해보는 겁니다. 그리고 남들에게 공격 시나리오를 보여주는 겁니다. 그럼 얼마나 심각한지 깨닫겠죠? 그러니 취약점 찾는 것도 중요하지만 어떡해 공격하는지도 알 필요가 있습니다! 서론이 길었습니다. 바로 시작을 할게요. XSS 총 정리 이긴 한데 저번에 정리한 내용을 이어서 설명하는 겁니다. 저희는 XSS 공격을 어떡해 하는지 알고 있습니다. 근데..
los rubiya - 21(iron_golem) 풀이 안녕하세요 오늘은 한 문제만 풀고 끝내겠습니다. sleep을 막았고 benchmark 함수는 sleep 함수와 같은 역할 한다고 합니다. 더군다나 Hello admin 이라던가 Hello guest가 안 나와서 참 거짓 판별하기 어려울 것 같습니다. 그리고 admin의 pw을 찾아야만 이 문제가 해결이 되네요. 이번엔 쉬운 거 같네요 blind sqli 인젝션을 이용하면 될거 같습니다. ascii와 substring으로 한 글자 한 글자 찾으면 되겠죠! 이렇게 풀어도 되구요 근데 ' 을 입력해 보겠습니다. 에러문이 나오네요! SQL의 실행했는데 문법이 오류가 나면 그 오류문이 나오게 되어있습니다. Error based SQLi 공격이 통하겠네요 만약 모르신다면 https://mynameisarke.tis..
[노말틱 모의 해킹 취업반 추가 개발과제 ] css - 게시판 꾸미기 안녕하세요! 이번에는 게시판을 꾸며 볼려고 합니다. 너무 자세하게 들어가면 복잡해지니 간단하게 꾸미겠습니다. 저희 board.php 구문에 중간 지점 (저는 130줄이에 있었어요) 거기에 게시물을 출력하는 echo 구문만 건들면 됩니다. sql문 조회 할 때도 수정을 했습니다. $sql = "SELECT * FROM $db_board WHERE title LIKE ? AND date_value LIKE ? "; 이렇게 했습니다. -style_board.css body{ background-color:#f5f6f7; } h1 { text-align: center; padding: 10px 10px; padding-bottom: 30px; border-bottom:1px solid #848484; } .bo..
los rubyia - 19번 20번 풀이 안녕하세요 저번이랑 이어서 계속 풀어 보겠습니다. 왜 regex와 like을 막은 건지 모르겠네요 일단 딱히 ' 을 막은 것도 아니니 length 함수 이용하여 admin의 pw 길이을 알아보겠습니다. 그럼 substring 함수랑 ascii 함수를 이용해서 값들을 일일이 찾아보겠습니다. import requests import urllib.parse #******parameter:[파라미터이름],parameter value: [파라미터값],word: [식별용단어] ------ ctrl+h 이용하여 바꾸기******** url = "https://los.rubiya.kr/chall/xavis_04f071ecdadb4296361d2101e4a2c390.php" #공격할 url 작성 headers = { "..
los rubiya -17,18풀이 안녕하세요 이번에도 이어서 풀어보겠습니다. 17번 strrev을 써서 거꾸로 나오게 했네요 게다가 addslashes로 특수기호를 못쓰게 막았고요 그럼 거꾸로 쓰면서 우회를 하면 되겠죠 그리고 addslashes의 함수는 특수 기호 앞에 \ 을 붙여서 문자열 취급을 합니다. 이걸 이용해서 id 에 작은따옴표를 문자열 취급하게 유도하겠습니다. id="&pw=%23 1=1 RO 이렇게 보내면 됩니다. id에는 " 을 pw에 %23 1=1 RO 보내면 select id from prob_zombie_assassin where id='"\' and pw='OR 1=1 #' 이렇게 됩니다. " 에 생긴 \ 이 거꾸로 되어서 \" 아닌 "\ 되어서 뒤에 있는 작은따옴표가 문자열이 취급이 됩니다. 그리고 id는 "\..
los rubiya -14,15,16 풀이 안녕하세요! 이번에도 los rubiya을 풀어보겠습니다. 생각보다 문제가 많아서 당황을 하게 되네요 어쨌든 끝까지 깨보겠습니다. 시작하죠 자세히 보니 shit이라는 변수가 from 사이에 들어가네요. 근데 길이는 무조건 1글자여야만 하네요 결과가 1234가 나와야 한다는데.. query문을 보니 from문이 붙여서 져 있어서 에러가 나는 것 같아요! 그래서 공백을 이용하자니 막혀 있네요. 하지만 저희에겐 공백을 우회하는 방법이 있습니다. 공백: 스페이스바 한번 누르거나 %20 도 있죠 + 도 공백입니다. 또한 %0a 와 %0b, %0c, %09,/**/ 도 공백을 대신할 수 있습니다 한 번 %0b로 줘보겠습니다. 간단하네요 다음! 15번 이상하게 pw을 = 말고 like로 인증을 하고 있네요 정말 이상..