Union SQL Injection 실습
·
보안/웹·모바일
Union SQL Injection 이번 실습은 회원가입 > 주소 입력창에서 이루어진다. Union - A 테이블에서 필요한 데이터와 B 테이블에서 필요한 데이터를 합친다. - 여기서 데이터는 칼럼으로 합치는 듯함. - 단, 합치려는 두 SELECT 문의 칼럼의 수는 같아야 한다. [예시] table = login, class SELECT id,pw FROM login union SELECT eng, kor FROM class; (o) SELECT id,pw ,email FROM login union SELECT eng, kor FROM class; (x) 주소 찾기 페이지에서는 칼럼 수 5개까지 입력 가능하다. 즉, 사용되는 칼럼은 5개라는 의미. 추측이 가능하다. 띄어쓰기 기준으로 5개 우편번호 / ..
Error-based SQL Injection 실습
·
보안/웹·모바일
Error-Based SQL Injection :: 에러 메세지가 친절할 때. 가장 친절/가장 쉬워짐 [DB명찾기] (구문) ' and db_name() > 1 -- (결과) nvarchar 'oyesmall'을 데이터형식 int로 변환하지 못했씁니다. db_name()은 MSSQL에서 데이터베이스 이름을 반환하는 친구임. 데이터베이스 이름이 1보다 크냐? 하고 주석처리 왜 nvarchar값을 int랑 비교하냐??. 하며 데이터베이스 이름 겟ㅋ [TABLE명 찾기] (구문) ' having 1=1 -- (결과) 열 'Members.num'이 집계함수나 GROUP BY절에 없으므로 SELECT 목록에서 사용할 수 없습니다. [COLUMN명 찾기] (구문) ' group by num -- (결과) 열 Mem..
x64 assembly basic
·
보안/리버싱
호출(Call): 프로시저를 부르는 행위 반환(Return): 프로시저에서 돌아오는 것 프로시저를 호출할 때는.. 프로시저 실행 후 원래의 실행 흐름으로 돌아와야 한다. call 다음의 명령어 주소(return address, 반환 주소)를 스택에 저장하고 프로시저로 rip를 이동 x64 어셈블리언어 call addr : addr에 위치한 프로시저 호출 [명령어 구성] - push return_address - jmp addr leave: 스택프레임 정리 [명령어 구성] - mov rsp, rbp - pop rbp # rsp에 rbp 값을 넣어주는건, 스택 어딘가에 있는 rsp를 현재 함수의 base 부분으로 부름. # 그리고 pop rbp해서 함수의 스택 정리 + 아래에 있는.. 저장해놨던 원래 스택 ..
Dreamhack Quiz: x86 Assembly 2
·
보안/리버싱
다음 어셈블리 코드를 실행했을 때 출력되는 결과로 올바른 것은? [Code] main: push rbp mov rbp, rsp mov esi, 0xf mov rdi, 0x400500 call 0x400497 mov eax, 0x0 // eax는 반환값. 즉, return 0 pop rbp ret write_n: push rbp mov rbp, rsp mov QWORD PTR [rbp-0x8],rdi //QWORD=8byte mov DWORD PTR [rbp-0xc],esi //DWORD=4byte xor rdx, rdx mov edx, DWORD PTR [rbp-0xc] //DWORD=4byte mov rsi,QWORD PTR [rbp-0x8] //QWORD=8byte mov rdi, 0x1 mov ra..
혼공학습단 8기 파이썬 1주차 미션
·
프로그래밍/python
기본 미션) 마무리 확인문제 so ez 사실 문제 4번처럼 출력할 수 있는지 몰랐다. 이래도 soez인가? ㅜ 그냥 알게된 것 정리 문자열 범위 선택 연산자 array[A:B:C] : A부터 B까지 C 간격으로. print("안녕하세요"[:3]) #의 경우, 3번째 빼고 0 1 2 이렇게 출력됨. # 조금 더 생각해보자 password = "08882625" print(password[::]) # 08882625 print(password[2:]) # 882625 print(password[::4]) # 02 print(password[::-4]) # 58 print(password[-2::]) # 25 위와 같이.. 문자열의 일부를 추출할 때 사용하는 [:] 연산자 array[::]는 모든 값 ( 0~..
리스트 컴프리헨션(List Comprension)
·
일상X사랑X돈/혼잣말
https://bio-info.tistory.com/28 [Python의 꽃] 리스트 컴프리헨션(List Comprehension) 안녕하세요 이번엔 파이썬에서 간결하고 실용적이고, 직관적인 기능 "리스트 컴프리헨션" 을 알아보겠습니다. -목차- 1. 리스트 컴프리헨션(List Comprension)이란? 2. 기초 사용법 3. 응용 1) 수식이나 bio-info.tistory.com 다시 좀 볼 것
TCP 통신 기반 DoS 공격 실습
·
보안/인프라
뭔소리냐면 A(10.200.181.5) 와 B(10.200.181.6, nc서버)이 서로 nc으로 통신하고 있음. 그 사이 kali가 껴서 A를 끊어버릴 것이다. 어떻게 해야 할까? 1. ARP 스푸핑 이전 게시글에서 했었다. 자세한 설명은 생략한다. 2. 칼리에서 tcpdump를 켠다 tcpdump -S -n port 4000 3. B에서 nc 통해 포트를 오픈한다. 그리고 A가 연결해서 몇마디 나눠보셈 4. tcpdump 확인. 5. 나는 10.200.181.5의 연결을 끊을 것이다. hping3 -s 4000 -a 10.200.181.6 -p 60378 -M 2680635114 -L 0 -R -c 1 10.200.181.5 [-s]: 출발지 port [-p]: 목적지 포트 [-a]: 스푸핑할 ip ..
86 Assembly: Essential Part(1) quiz
·
보안/리버싱
86 Assembly: Essential Part(1) quiz 드림핵 리버싱파트 quiz문제 풀이 [Register] rcx = 0 rdx = 0 rsi = 0x400000 ======================= [Memory] 0x400000 | 0x67 0x55 0x5c 0x53 0x5f 0x5d 0x55 0x10 0x400008 | 0x44 0x5f 0x10 0x51 0x43 0x43 0x55 0x5d 0x400010 | 0x52 0x5c 0x49 0x10 0x47 0x5f 0x42 0x5c 0x400018 | 0x54 0x11 0x00 0x00 0x00 0x00 0x00 0x00 ======================= [code] 1: mov dl, BYTE PTR[rsi+rcx] 2: ..