본문 바로가기

전체 글79

까사마루 매직파티션 설치 후기 원룸으로 이사 후 작은 공간으로 인해 물건 둘 곳이 없어서 찾아본 파티션 입니다 :) 1. 패키징 패키징은 이런식으로 오네요 넓고 얇은 상자에 포장해서 옵니다. 양쪽 기둥에 그릴이 달린 구조이며 위, 아래 두 개의 파트로 나뉘어져 있습니다. 정면, 후면이 구분되어 있고, 선반, 바구니 들은 정면에만 설치가 가능하다고 하는데.. 후면에도 되긴 합니다. 세트로 사서 그런지 선반이랑 바구니 작은것도 들어있어요 대략 조립하면 이런 모습입니다. 아래쪽 기둥엔 바로 발을 설치하면 되고 위쪽 기둥엔 스프링이 달려있어 누를 수 있는 구조입니다. 아래쪽 기둥과 위쪽 기둥을 체결 후 사진에 보이는 나사로 조이면 고정됩니다. 위쪽 기둥엔 고무링이 설치되어 있는데 이거는 혹시라도 나사가 풀렸을 경우 막아주는 2차 안전장치입니.. 2021. 7. 21.
25##]PHP로 홈페이지 만들기>아이디 찾기 안녕하세요 베비온입니다. 오늘은 쉽고 짧게 해보겠습니다. 바로 아이디 찾기입니다! 가입할 때 입력한 정보는 아이디 비밀번호 이메일이 다였습니다. 그러므로 이메일을 기준으로 찾아보겠습니다. 먼저 로그인 페이지에 찾기 페이지로 가는 버튼을 만들어줍니다. login.php Hi Welcome to MyPage! LOGINIDPW 버튼을 누르면 가는 find_id.php를 작성해봅니다. find_id.php 아이디/비밀번호 찾기 아이디 찾기 이메일 최대한 간단하게 만들어봤습니다. function id_ch(){ if(!frm1.email.value){ alert('ID를 입력해주세요'); } else{ frm1.submit(); } 찾기를 눌렀을 때 칸이 비어있다면 "Email을 입력해주세요"라는 창이 뜹니다... 2017. 5. 5.
8.SQL Injection>사용하는 DB이름,테이블 2 안녕하세요 베비온입니다. 저번에 했던거를 조금 짧게 나타내보겠습니다. 저번엔 테이블명도 많고 많아서 뭘 봐야할지 모르겠었지만 이번엔 다르게 접근해보겠습니다. DB 알아내기 select '1','2','3','4','5',schema_name,'7','8','9','10','11' from information_schema.schemata -- 결과화면입니다.보통은 php안에서 sql을 사용하기위해 미리 db를 지정합니다. 테이블과 컬럼을 가져오기위해 사용해봤습니다. ㅎ;; 이 db를 가지고 table명을 알아볼까요 테이블명 알아내기 a' union select '1','2','3',table_schema,'5',table_name,'7','8','9','10','11' from information_sc.. 2017. 5. 3.
7.SQL Injection>회원정보 출력 안녕하세요 베비온입니다. 이번엔 union을 이용해 회원정보들을 출력해보겠습니다. 저번에 테이블명과 컬럼명을 출력했었죠? 이번엔 그것을 이용해서 회원정보들을 가져와볼게요 글 제목인 6번에 아이디를, 글쓴이인 4번 필드에 비밀번호를 출력해보겠습니다.회원정보 출력하기 a' union select '1','2','3',logpw,'5',logid,'7','8','9','10','11' from member -- 차례로 아이디와 비밀번호를 출력했습니다. 맞는정보인지 볼까요? 비교해보면 맞네요! 비밀번호를 암호화하여 저장하지 않았기때문에 바로 출력이 됩니다. 후에 암호화하여 출력하는 것까지 해볼게요 2017. 4. 30.
6.SQL Injection>테이블 명, 컬럼 명 알아내기 안녕하세요 베비온입니다.오늘은 저번에 했던 union을 사용해서 테이블 명과 컬럼 명을 알아내보겠습니다. 저번에 게시판 페이지에서 사용하는 컬럼 갯수는 11개라는것을 알아내었습니다.검색 부분에 a' union select '1','2','3','4','5','6','7','8','9','10','11' 을 입력해줍니다. 제일 아래부분이 결과창입니다. 1~11을 출력하는 select를 사용함 으로써 어느 부분에 어느 컬럼이 사용되었는지 볼 수 있습니다. 글번호엔 1번 컬럼, 글 제목엔 6번컬럼, 댓글 갯수는 10번컬럼 이런식으로요저희가 얻고싶은건 테이블명, 컬러명입니다.즉 데이터 형태가 문자형입니다.숫자형태가 들어가는 num이나 see는 안되죠 그럼 저희는 글제목인 6번에 한 번 출력해보겠습니다.db에 많.. 2017. 4. 30.
5.SQL Injection를 위한 UNION 안녕하세요 베비온입니다. 저번에 컬럼 갯수를 세는 sql injection을 수행했었죠? 이번엔 그것을 이용해서 테이블명, 컬럼 명을 뽑아내겠습니다. 그 전에 먼저 UNION이라는 sql문을 짚고 넘어가겠습니다. 저번에 list.php가 11개의 컬럼을 사용한다고 했었습니다. 이 컬럼에 제가 원하는 것들을 출력하고자 합니다. UNION 이라는 sql문을 사용해서 말이죠 union은 2 종류에서 한번 다룬적이 있었지요? 간단하게 알아보고 가겠습니다. union 은 두 개의 결과를 한 개의 결과로 합쳐주는 역할을 합니다. 즉 select한 두 개의 결과를 한개의 테이블로 만듭니다. 이것을 하기 위해선 조건이 있는데요1.두 개의 select에 사용되는 필드의 갯수가 동일해야 한다. 2. 두 개의 select에.. 2017. 4. 27.
4. 게시판의 컬럼 갯수 알아내기 안녕하세요 베비온입니다. 이번엔 게시판list.php에서 사용되는 DB의 컬럼 갯수를 세보도록 하겠습니다. 이 방법은 다른 query에서도 유효합니다. 로그인페이지에서도 사용가능합니다. 해당 페이지에서 사용되는 컬럼의 갯수를 세기 위해 order by 라는 옵션을 사용합니다. ORDER BY [Column] [ASC|DESC] 지정한 column을 기준으로 오름(ASC)|내림차순(DESC)을 합니다.column명으로 지정해도되고 column의 번호를 써도 됩니다. 순서는 앞에서부터 차례로 1,2,3 ... 이됩니다.column만 지정하고 오름(내림)차순을 생략할 경우 default값인 오름차순을 합니다. list.php의 검색에 order by를 해서 오류를 검색해 냅니다. ' order by 1 -- .. 2017. 4. 27.
PHP에서 에러 페이지 출력하기 안녕하세요. 베비온입니다. SQL Injection 에서 확인을 해 봐야 하는게 sql 출력 페이지가 뜨는지 안뜨는지 인데요 물론 뜨면 공격이 좀 더 쉽겠지요?? 확인을 위해 test.php라는 페이지를 만들어볼게요 test.php 예시를 위해 줄 끝에 있는 세미콜론(;)을 제거한 상태입니다. 이대로 test.php를 호출하면 네 먹통입니다. 그러면 에러를 출력할 수 있게끔 바꿔 보도록 하겠습니다. php의 설정파일인 php.ini에 들어갑니다 #vi /etc/php.ini 를 하셔서 php.ini에 들어갑니다. 이후 /display_errors 로 아래의 구문을 찾습니다. ; Default Value: On ; Development Value: On; Production Value: Off; http:.. 2017. 4. 25.
3.SQL Injection - 로그인 우회하기 안녕하세요 베비온입니다. 포스팅을 위해 여러번 SQL Injection을 실습 해봤는데 잘 안되서 머리가 터질거같네요 가장 먼저 login 페이지를 우회하여 들어가보도록 하겠습니다. 정상적인 로그인입니다. 정상적으로 한 로그인이 완료된 것을 볼 수 있습니다. 이번엔 root를 우회해서 들어가보겠습니다. 1.주석처리 ID 에 root' -- ' 를 적었습니다. 패스워드를 입력 안해도 제대로 작동된 모습입니다. --는 mysql에서 한줄 주석 구문입니다. 즉 --뒤에 나오는 것들은 다 주석처리되어 실질적으로 처리가 안되게 하는 공격입니다. root' -- '를 입력함으로써 로그인하는 sql 쿼리문은 $sql=select logid,email from member where logid='root' -- '' .. 2017. 4. 24.
2.SQL Injection의 종류 안녕하세요 베비온입니다. 이번엔 SQL Injection의 종류가 어떤 것들이 있는지 살펴보겠습니다. 사용된 서버는 CentOS 7DB는 mysqlhttp는 apache언어는 PHP입니다. 1. 논리적 에러를 이용하는 SQL Injection SQL query 안에 들어가는 내용을 묶는 ' (작은따옴표)를 사용하여 의도적으로 에러를 일으키고 or 1=1 등의 논리적 에러를 통해 시스템 권한 체크를 우회하는 기법 *제가 만든 서버를 기준으로 테이블 명과 필드명을 사용했습니다.예시 ) select * from member where logid='logid' or '1'='1' ; 2.쿼리 가능 여부를 이용하는 Blind SQL Injection 쿼리의 결과가 참, 거짓에 따라 정보를 취득하는 기법 예시 ) .. 2017. 4. 24.
1. SQL Injection이란? 안녕하세요 베비온입니다. 오늘은 국정원 8대 취약점 및 OWASP TOP 10 상위권에 자주 등장하는 Injection중에서도 SQL을 이용한 Injection을 살펴보겠습니다. SQL Injection이란?웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격. 웹 응용 프로그램에 강제로 구조화 조회 언어(SQL) 구문을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수도 있다. 이 공격은 MS SQL 서버뿐만 아니라 모든 관계형 데이터베이스 관리 시스템(RDBMS)에서 가능하다.[네이버 지식백과] SQL 주입 공격 [SQL injection, -注入攻擊] (IT용어사전, 한국정보통신기술협회) 사전적 의미 입니다. 즉 SQL Query를 사.. 2017. 4. 24.
25##]PHP로 홈페이지 만들기>답글 달기 안녕하세요 베비온입니다. 오늘은 게시글에 댓글이 아닌 답글을 달 수 있도록 해보겠습니다. 먼저 답글을 달 수 있도록 답글달기 버튼을 만들어 줍니다. read.php 2017. 4. 23.