![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk8u9e%2Fbtq2kBxJn3K%2F0BDWdqCbRyTZMNzrYMOx9k%2Fimg.png)
[Webhacking] Time based SQL Injection 실습
2021. 4. 11. 18:55
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 앞에서 배운 error based sqli, blind sqli 과 달리 존재하냐 존재하지 않느냐는 (참 거짓) 도 뜨지 않는다. 이럴 때 sleep() 을 이용해 time based sqli을 할 수 있다. 다음과 같이 입력했을 때, 실제로 sleep()이 먹혀서 계속 응답을 기다리는 현상을 볼 수 있다. time based sqli은 블라인드 인젝션 + 뒤에 sleep()를 붙인 것으로, 값이 참일 때만 반응한다. ' or 1=1 and substring(database(), 1, 1) = 'b' and sleep(1)# ' or 1=1 and ascii(substr..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1eQwq%2Fbtq2lpX2AeG%2FtoTTF5UDvwLONKkIK3jsok%2Fimg.png)
[Webhacking] Blind SQL Injection 실습
2021. 4. 11. 18:33
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 Error based SQLi 과 달리 존재한다, 존재하지 않는다의 정보(참 or 거짓)만 알 수 있다. DB 정보 확인(bWAPP) 1. 길이를 물어본다. 2. 문자열 검색 데이터베이스 첫번째 값에서 하나를 가져온다는 뜻. ' or 1=1 and ascii(substring(database(), 1, 1)) = 98# 다음과 같이 ascii 코드 값으로 물어보면, for문으로 매칭 시킬 수 있다. DB 내 테이블에서 칼럼 정보들 하나씩 가져오기 table_name이 'users'인 곳의 column_name에서 첫번째 꺼를 가져오기(limit 0, 1 이용해서) -> ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcw2zyC%2Fbtq2hB6azWW%2FU6OGEEy9XgkFchaezsfLm0%2Fimg.png)
[Webhacking] Error Based SQL Injection 실습
2021. 4. 10. 23:37
Hacking/Webhacking
실습 환경 : kali-linux(공격자 pc) ---> bee-box(희생자 pc) kali-linux에서 bee-box ip로 접속 bee-box의 DB 확인 mysql -u root -p kali-linux(공격자 pc)에서 DB 정보 획득 위 명령어를 통해 db 칼럼의 개수가 7개인 것을 확인했다. 또 뒤에 숫자 2,3,5,4 가 붙은 것을 알 수 있다. @@version을 통해 버전 정보 확인 information_schema로부터 테이블 정보 갖고옴. information_schema 로부터 column_name을 얻어옴. 우리가 관심있는 password, id 등의 데이터를 발견함. users로부터 login, password, email에 해당하는 데이터를 얻음 알아낸 password가 S..
[Webhacking] SQL Injection
2021. 4. 10. 23:12
Hacking/Webhacking
SQL Injection 이란? SQL Query를 처리하는 과정에서 예상치 못한 입력 값에 의해 DBMS 정보 노출, 특정 명령어 실행 등이 발생하는 취약점 공격자는 정상적인 값 대신 자신이 원하는 값을 웹에 요청하고, 웹은 데이터베이스에 요청을 한 뒤 결과 값이 웹을 통해 노출되거나 유추할 수 있는 형태로 출력됨 -> 웹서버에서 입력값 검증을 제대로 하지 않아서 일어나는 취약점 SQL Injectoin을 이용한 인증 우회 인증 처리 프로세스에서 '참' 값을 만들어주면서 정상적인 계정 정보 입력을 우회하게 됨 쿼리 질의문 예 Select * from members where id=admin and pass=1234 원래 위와 같은 형태인데, 아래와 같이 '참'으로 만들어서 우회 Select * from..
[P4C] Pwnable problem 2
2021. 4. 10. 01:48
Hacking/Pwnable
1. 문제 #define _GNU_SOURCE #include #include #include void vuln(){ char buf[30] = ""; void (*read_addr)() = dlsym(RTLD_NEXT, "read"); printf("I'll give you some hint\n"); printf("read address : %p\n", read_addr); read(0, buf, 90); } void main(){ printf("do you know RTL?\n"); vuln(); } 다음과 같이 빌드해줍니다. gcc -m32 -fno-stack-protector -o problem problem.c -ldl 2. HINT NX bit + ASLR이 적용된 상황에서 어떻게 RTL 기법..