본문 바로가기

보안지식/SQL

(8)
SQL injection Oracle 양식 안녕하세요 저는 이태까지 mysql 환경에서 injection을 했었습니다. 그러니 이번에는 Oracle 버젼의 인젝션 공격 방안을 찾아보겠습니다. 뭐.. 공격 방식은 mysql이랑 다를 바 없습니다. 먼저 sql injection이 통할 것 같은 포인트를 찾아 보고 그다음에 쿼리문을 추측 한 후 공격을 하면 됩니다. 보통 포인트 부분은 데이터를 보낼 때 '나 " 같이 기호들을 붙이고 보내 봐서 이상한 데이터가 나오는지 에러가 나는 부분들이 포인트 입니다! 일단 문법부터 보시겠습니다. mysql이랑 Oracle이랑 sql 쓰는 건 똑같은데 문법이 살짝 다릅니다. 그러니 뭐가 다른지만 보고 가겠습니다. * Oracle vs Mysql --페이징 처리 Oracle 에서는 ROWNUM을 씁니다. SELECT ..
[노말틱 모의 해킹 취업반 6주차 해킹과제] Blind SQL Injection Python(POST방식) 안녕하세요! 오늘은 Blind SQL Injection을 했을 때 저희가 일일이 문자 하나하나 넣어서 확인했었잖아요? 이제 그걸 자동화하기 위해 파이썬으로 코드를 짜서 만들어보겠습니다. 일단은 import requests을 하겠습니다. 이것은 파이썬에서 http 요청을 보내기 위한 모듈인 requests를 가져오는 구문입니다. HTTP 요청을 하고 응답을 받는 기능을 제공한다고 해요! 그리고 공격할 url을 받을 수 있게 하겠습니다. 예시 보여드릴게요 import requests url = ("http://ctf.segfaulthub.com:9999/sqli_3/login.php") #url 받기 data = { "UserId": "mario", "Password": "mariosuper", "Submi..
[노말틱 모의 해킹 취업반 5주차 해킹과제] SQLi 문제 풀이(1,2문제) 안녕하세요! 오늘은 노말틱님께서 만드신 1,2번 문제 풀이를 해보려고 합니다! 시작하죠 . . . . 만약 SQLi 공격하는 방법을 잘 모르신다면 https://mynameisarke.tistory.com/25 [노말틱 모의 해킹 취업반 4주차 해킹과제] Error Based SQLi, SQL Injection 안녕하세요! 이번에도 SQL Injection을 공부할 건데요 오늘은 SQL 질의문이 화면에 보이는 곳을 공격하는 연습할 겁니다! 예를 들자면 게시판도 있고 회원 정보(마이페이지), 주소검색 등등 있죠 저 mynameisarke.tistory.com 참고하시면 되요! 시작할게요 -1번 게시판이 있네요! 일단 간단하게 검색을 해보겠습니다. ma만 쳤는데 mario가 나오고 normaltic도 나오네..
[노말틱 모의 해킹 취업반 5주차 해킹과제] SQLi 문제 풀이(3문제) 안녕하세요! 이번에는 노말틱님께서 만드신 해킹 사이트에 들어가서 문제를 풀어보고 문제 풀이를 해보겠습니다. 우선 가장 어려운 3번 문제 부터 하겠습니다. 아 참고로 저는 버프 스위트 통해 openbrowser을 했습니다! 아이디는 mario 패스워드는 mariosuper입니다. 로그인을 일단 해보겠습니다. 한번 일부로 틀려보곘습니다. 저기에 있는 Request을 Repeater로 보낸 뒤 이렇게 작성해서 보내겠습니다. Render을 보시면 더욱 보기 편합니다. 이제 SQL을 추측하겠습니다. Step 1이죠 만약 잘 모르시다면 https://mynameisarke.tistory.com/33 [노말틱 모의 해킹 취업반 5주차 해킹과제] Blind SQLi 안녕하세요! 오늘은 SQL 인젝션 공격 중 하나인 B..
[노말틱 모의 해킹 취업반 5주차 해킹과제] Blind SQLi 안녕하세요! 오늘은 SQL 인젝션 공격 중 하나인 Blind SQLi을 공부해 보겠습니다. 일단 이 Blind SQLi는 어디서 공격을 할까요? -공격 위치? DB결과가 화면에 안 나오는 곳. Error based 나오는 곳 ALL , 사실 SQLi 공격이 가능하면 전부 Blind SQLi가 통합니다. 그럼 어떡해 공격을 할까요? 간단히 말해서 참과 거짓의 조건으로 데이터를 추출하는 기법입니다! 그러니 참과 거짓 조건에 따라 응답이 다른 곳이면 다 통하겠죠. 솔직히 99%가 참과 거짓이 응답이 다르지 않을까요. 이제 본격적으로 스텝을 밟으면서 차차 하는 방법을 알려드리겠습니다! 처음에는 막일이 최고예요. 그다음에는 파이썬으로 짜서 자동화 툴을 만들어보죠. 오늘 말고요 간단하게 필요한 문법 지식을 설명해 ..
[노말틱 모의 해킹 취업반 4주차 해킹과제] Error Based SQLi, SQL Injection 안녕하세요! 이번에도 SQL Injection을 공부할 건데요 오늘은 SQL 질의문이 화면에 보이는 곳을 공격하는 연습할 겁니다! 예를 들자면 게시판도 있고 회원 정보(마이페이지), 주소검색 등등 있죠 저번에 저희가 자주 이용한 UNION 기법이 여기서 핵심입니다! 하지만 사용제약이 있었죠 (select ~~) union (select ~~) + 앞에 있는 select 문과 뒤에 있는 select 문의 칼럼 개수가 같아야 합니다 ex) select id,pw from member where id='1' union select '1','2' +각 위치에 맞는 칼럼 타입이 같아야 돼야 합니다. ex) id 타입이 int라는 가정하에 select id,pw from member where id='1' unio..
[노말틱 모의 해킹 취업반 3주차 해킹과제] 로그인 로직 만들기(2), SQL InJection 어제 만든 것 이어서 더 만들겠습니다! SQL Injection 공격이 통하는 로그인 로직을 최대한 많이 알기 위해 하는 것입니다. . . . . . -11번째 //ID,PW 찾는 쿼리문 $sql = "SELECT id,pw FROM test WHERE id='$login_id' AND pw = '$login_pw' "; 이번엔 id와 pw 만 들고 오게 했네요 id : admin' OR '1'='1 pw : qqqq -12번째 //ID,PW 찾는 쿼리문 $sql = "SELECT id,pw FROM test WHERE (id='$login_id') AND (pw = '$login_pw') "; 이번엔 괄호가 있네요 전에 괄호 있을 때 썼던 sql 문을 적읍시다 id : admin')# pw: qqqq ..
[노말틱 모의 해킹 취업반 3주차 해킹과제] 로그인 로직 만들기(1), SQL InJection 제목에 담기엔 너무 작아서 간단 하게 적었습니다. 원래 제목은 로그인 로직 케이스 개발 및 각각의 우회 기법 연구 및 연구 및 공격 방법 정리 입니다. 일단 로그인 로직은 무엇일까요? 간단하게 말하지면 로그인 코딩을 할 때 어느 구조로 코딩을 하냐입니다. 예시를 들자면 이것은 식별&인증을 따로 하는 로직입니다! 보시면 식별 즉 ID먼저 확인 한 후 인증(비밀번호)을 비교하는 것을 볼 수 있습니다. 제가 만든 페이지가 이런 형식이죠 생각해 보시면 식별이랑 인증을 같이 할 수 있습니다! sql에 id랑 pw 같이 있는지 확인하는 게 보이시죠? 그리고 만약 있으면 로그인 성공하게 했습니다! 이게 식별이랑 인증을 같이 하는 로직입니다. 여기서 궁금증이 있을 수 있습니다. 그럼 둘 중 어느 로직이 더 좋은거야? ..