일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- sql injection
- 백준
- webhacking
- 백준 알고리즘
- writeup
- 회귀 수식
- 리눅스
- 보안
- 웹
- 리버싱 워게임
- 머신러닝
- 리버싱 문제
- C언어
- php
- 리액트
- 해킹
- 웹해킹
- 인공지능
- MySQL
- webhacking.kr
- CodeEngn
- html
- 워게임
- 자바스크립트
- 리버싱
- 알고리즘
- 넘파이
- 어셈블리어
- abex crackme
- 컴퓨터 구조
- Today
- Total
목록php (6)
로보틱스 연구일지

안녕하세요 ! 이번 포스트는 php는 서버 언어고 MySQL은 데이터베이스 언어인데 이 둘을 연동시키는 방법을 정리해 봤습니다. 혹시 보시다가 궁금한거 있으면 댓글 주세용 php와 mysql연동 시 주의할 점은 아래와 같다.테이블에서 생성한 변수명과 input 태그의 name변수명을 일치시키기.php안에서 조건문으로 script사용은 가능script안에서 조건문으로 php사용은 불가능db의 비밀번호는 따로 설정해줘야 함 js, php, html이 같이 쓰일 때 포함 관계는 아래와 같다. (별로 중요한 건 아님)php ⊃ js:?> 예제로 hi 데이터베이스에 exam 테이블을 생성해서 간단한 회원가입을 구현했다. (테이블은 그냥 매우 잘 쓰이는 함수 같은 느낌) 1) 테이블 생성create database..

앞에 풀었던 문제는 다 $_GET[ ]문의 파라미터를 ‘no’라는 이름으로 했는데 여기서는 ‘id’로했다. 그러니까 앞의 걸로 치면 if($result[‘no’]==2)로 ?no=2만 붙이면 된다. 그런데 admin은 문자열이라 따옴표가 있기 때문에 addslashes가 따옴표 앞에 \를 넣어 조건문의 참 조건이랑 달라진다. 따라서 admin을 16진수로 바꾼 0x61646d696e를 id에 넣어주면 된다. 그런데 여기서 select from문을 사용했으므로 값 (as) 변수 형식으로 0x61646d696e (as) id를 입력하면 되는데 여기서 as는 생략하고 공백문자를 %09로 바꿔서 대입하면 아래와 같이 풀린다.

아래는 42번의 초기화면이다. Test.txt를 먼저 다운 받았다. 이어서 flag.docx 도 바로 다운 받았다. 뭐지..?접근 거부가 뜨고 flag파일의 subject가 read me 읽어달라는 것을 보니 flag 파일에 접근하라는 힌트 같다. 일단 url접근은 아닌 것 같으니 버프슈트를 써봤다. 버프슈트로 flag파일을 다운 받으려 할 때 세션을 탈취해서 코드를 보는 것이 목적이다. 그런데 예상과 달리 test는 코드가 세션을 탈취하는데는 성공했지만 별 다른 특별한 코드가 보이지 않는다. 왜냐하면 내가 원하는 코드는 접근 거부를 시키는 내용이 들어간 코드이기 때문이다. 그래서 개발자 모드(F12)로 flag부분의 코드를 봤더니 alert()창을 띄우는 코드가 있고, test부분 코드는 아래와 같다...

위는 24번의 초기화면이다.그런데 테이블을 보니 전에 풀었던 42번이 생각난다. 그런데 이 문제는 친절하게 소스코드를 바로 보여준다. 이 중에서 위에서 부터 보겠다. 여기는 초기화면에서 view_source 를 띄우는 코드로 보인다. 그리고 위 코드에서 ip변수가 127.0.0.1 이 되면 문제가 풀린다고 나와있다. 그런데 초기화면에서 바로 Wrong IP가 뜨는 것을 보니 현재는 조건을 충족시키 지 않나보다. 다음으로 ip변수가 정의된 코드쪽에 봤다. extract()은 값을 변수화시켜주는 함수인데 이를 이용하여 $_SERVER 와 $_COOKIE의 값을 변수로 바꿔주었다. 그리고 $REMOTE_ADDR 변수가 나오는데 이는 PHP의 환경변수로 클라이언트의 IP주소를 가져오는 환경변수이다. 그래서 위의..