본문 바로가기

분류 전체보기

(119)
[노말틱 모의 해킹 취업반 5주차 해킹과제] Blind SQLi 안녕하세요! 오늘은 SQL 인젝션 공격 중 하나인 Blind SQLi을 공부해 보겠습니다. 일단 이 Blind SQLi는 어디서 공격을 할까요? -공격 위치? DB결과가 화면에 안 나오는 곳. Error based 나오는 곳 ALL , 사실 SQLi 공격이 가능하면 전부 Blind SQLi가 통합니다. 그럼 어떡해 공격을 할까요? 간단히 말해서 참과 거짓의 조건으로 데이터를 추출하는 기법입니다! 그러니 참과 거짓 조건에 따라 응답이 다른 곳이면 다 통하겠죠. 솔직히 99%가 참과 거짓이 응답이 다르지 않을까요. 이제 본격적으로 스텝을 밟으면서 차차 하는 방법을 알려드리겠습니다! 처음에는 막일이 최고예요. 그다음에는 파이썬으로 짜서 자동화 툴을 만들어보죠. 오늘 말고요 간단하게 필요한 문법 지식을 설명해 ..
[노말틱 모의 해킹 취업반 11주차 개발과제 ] 문의게시판 만들기 안녕하세요 저의 개발 과제는 여기까지입니다. 문의게시판까지 만들고 css 써서 좀 꾸미고 난 뒤에 부족한 게 있으면 추가하는 그런 목표였거든요! 시작하겠습니다. 일단 문의게시판은 비회원도 이용 가능하게 할 겁니다. 그러니 문의게시판 용의 데이터베이스가 새로 필요할 거고요. 게다가 이 게시판에는 비밀번호까지 입력하게 해서 만약 비밀번호가 맞으면 수정, 삭제가 가능하도록 하겠습니다. 당연히 볼 수 있고요. 저는 일단 login.php에 문의 게시판 버튼을 만들겠습니다. 다음에 inquiry_board.php을 만들겠습니다. 작성을 하기 전에 데이터베이스에 추가를 하겠습니다. phpmyadmin에 왼쪽 위에 '새로운' 눌러서 데이터베이스 생성 테이블 이름도 INQUIRY_INFO로 했습니다. 칼럼 수는 일단 ..
[노말틱 모의 해킹 취업반 10주차 개발과제 ] 마이페이지 개발 안녕하세요! 오늘은 마이페이지를 만들겠습니다. only_login 페이지에 마이페이지 버튼을 만들고 마이페이즈를 누르면은 개인 정보 확인, ID, PW 변경할 수 있게 하겠습니다! 시작하죠 . . . . . . only_login.php 페이지에 간단하게 버튼을 만들겟습니다. 그리고 my-info.php을 만들고 늘 그랬다시피 html 구문에 DB 정보랑 세션 정보를 시작하겠습니다. -my_info.php MY PAGE! only_login.php 참고했습니다! 일단.. ID 변경할 수 있게 하겠습니다! 버튼을 이렇게 구현하고 그다음으로 change_id.php을 짜겠습니다 그리고 text 태그를 2개 만들어서 기존 id 확인용, 변경할 id 작성하게 하겠습니다. -change_id.php MY PAGE..
[노말틱 모의 해킹 취업반 9주차 개발과제 ] 게시판 만들기(5) - 각 별로 정렬되게 만들기 안녕하세요! 오늘은 날짜별, 추천수, 작성자 이름순으로 각각 정렬을 할 수 있게 선택지를 만들겠습니다! 참고로.. 오늘 만들다 보니 오류가 많이 나와서 이것저것 많이 만졌습니다! 총코드는 맨 밑에 있으니 참고해 주세요! . . . . . . . 우선 리스트를 나오게 해야 되겠죠?
[노말틱 모의 해킹 취업반 9주차 개발과제 ] 게시판 만들기(5) - 좋아요기능 안녕하세요! 이번에는 좋아요 기능과 정렬 기능을 만들어 보겠습니다. 보안 관련해서 코드가 좀 수정 됐습니다! 여기 참고하세요 https://mynameisarke.tistory.com/27 [노말틱 모의 해킹 취업반 개발과제 (3)] 보안 관련해서 보완 하기 안녕하세요! 저는 이태까지 GET방식이든 POST 방식이든 일단 받으면 mysqli escape 시켜서 SQL Injection을 피하려고 했습니다! 근데 이제 스크립트 인젝션을 방지하기 위해 filter_var() 함수을 이용하겠습 mynameisarke.tistory.com 먼저 좋아요 기능 만들어 보겠습니다 . . . . . 일단 게시물 데이터베이스에 좋아요을 따로 저장이 가능한 칼럼을 만들겠습니다. 한 각 사용자 들은 좋아요 도배를 못 하게 ..
[노말틱 모의 해킹 취업반 개발과제 (3)] 보안 관련해서 보완 하기 안녕하세요! 저는 이태까지 GET방식이든 POST 방식이든 일단 받으면 mysqli escape 시켜서 SQL Injection을 피하려고 했습니다! 근데 이제 스크립트 인젝션을 방지하기 위해 filter_var() 함수을 이용하겠습니다. 숫자값이 들어와야 하는데 숫자 이외의 값이 들어오는 것을 걸러내는 필터링 작업해 주는 함수도 있습니다 filter_var() 함수 입니다. 예시 보겠습니다 이렇게 악의적으로 쓸 수 있습니다. 이제 output에는 filter_var 함수로 걸러지고 나오게 해 보았습니다. 이렇게 자바 스크립트가 아예 실행 안 되는 것을 볼 수 있습니다. 실제로 저렇게 html 구문인 ,'," 등 html에 쓰이는 특수기호를 전부 무시합니다. 근데 또 불안하죠 호출은 안전하지만 내부에서 ..
[노말틱 모의 해킹 취업반 9주차 개발과제 ] 게시판 만들기(5) - 날짜 검색 안녕하세요! 오늘은 날짜 지정해서 검색을 할 수 있게 하겠습니다. ** 주소 검색도 그냥 제가 우체국 DB 가져와서 만들겠습니다. API는 내버려두고 따로 php 또 만들겠습니다. 나중에요! ** 이제 슬슬 게시판도 끝나 가고 다 만들고 난 뒤에 마이 페이지, 문의 게시판까지 만든 뒤에 CSS나 다른 언어 이용해서 제 홈페이지를 조금 꾸미겠습니다! 너무 스켈레톤이라고 하네요 ㅎ 아마 늦어도 2주 뒤에는 제 홈페이지 전부 완성 될 것 같습니다. 그 후로 디자인이랑 보안 신경 써서 수정하죠. . . . . . . 시작하죠 먼저 날짜를 지정해서 검색을 할 수 있게 하겠습니다. 뭐.. 이거는 딱히 어렵진 않겠네요! 일단 저는 날짜 선택 가능한 UI을 가져오겠습니다! 그냥 검색 창에 날짜를 적고 검색 누르기엔 너..
[노말틱 모의 해킹 취업반 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..