일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- apolloclient
- apollo react native
- graphql react native
- graphql with reactnative
- 신촌 소문난집
- 비동기배열
- 홍대 카페 장쌤
- 토라비
- promise처리
- 비동기배열처리방법
- 화이트해커를 위한 웹 해킹의 기술
- graphql
- typescript
- 금별맥주
- promise메서드
- 예쁜술집 예술
- 앙버터마카롱
- 화이트 해커를 위한 웹 해킹의 기술
- 잠실새내
- useMutation error
- 지보싶 신촌점
- graphql with RN
- graphql 400
- graphql mutation error
- 고르드
- 운정 소바동
- 잠실새내 도그존
- 도그존
- 홍대 예술
- 홍대 토라비
- Today
- Total
목록분류 전체보기 (151)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
LOS 4번 orc 두번째 단락에서 addslashes를 이용해 pw에 입력된 값이 SQL로 작동하는 것을 방지하고 있다. PHP addslashes: 웹의 폼에서 입력한 글자가 SQL로 동작하는 것을 방지하기 위해 (' " \ 등)기호 앞에 \를 추가한다. stripslashes: 추가되었던 백스래쉬를 제거한다. -> SQL로 동작하게 함 또, solve의 조건은 pw에 입력된 값이 addslashes 처리한 후에도 그 값과 같을 때이다. ->id='admin'인 사용자의 pw를 정확하게 입력해야 한다. pw를 얻기 위해 pw의 길이를 먼저 알아야 한다. pw에 쿼리문이 들어가면 solve는 실행되지 않지만 적어도 "Hello admin"은 출력될 수 있다. 이를 이용해서 pw의 길이를 알아내보자. ?..
1번 gremlin solve("gremlin")의 조건을 보면 $result['id']가 존재할 때 gremlin이 해결되는 것을 볼 수 있다. 조건에 pw는 없기 때문에 pw부터는 주석처리 할 예정 id는 WHERE 조건을 항상 참으로 만들어 $query에 id를 담는다. ?id=' or 1=1%23 을 URL에 넣어준다. (1=1은 항상 참, or 연산에 의해 id가 참이 된다.) 2번 cobolt gremlin과 마찬가지로 solve 조건에 pw가 존재하지 않으니 pw 부터는 주석처리한다. 이번에는 $result['id'] == 'admin'이어야 solve가 실행되기 때문에 id에 admin을 넣어주고 그 뒤는 주석처리해준다. ?id=admin'%23 을 URL에 넣어준다. 3번 goblin 이..
실습 환경: DVWA-XSS(Reflected), kali 리눅스 Reflected XSS 공격 실습 입력창에 yehey를 쳐서 보냈더니 Hello yehey라고 출력되고 있다. 사용자가 입력한 값이 그대로 다시 출력되었음 = reflected XSS 취약점이 존재할 가능성 ↑ 추가적으로 다음과 같은 간단한 스크립트를 입력해 실행되는지 확인해보자 다음과 같이 1이라는 팝업창이 뜬 것을 확인할 수 있다. 이 페이지는 Reflected XSS 취약점이 존재한다! 이제 쿠키 값을 가져와보자 다음과 같이 PHPSESSED라는 세션 ID 쿠키를 알아낼 수 있다. 세션 쿠키를 공격자의 호스트로 전달하기 칼리 리눅스를 공격자의 호스트라고 가정 세션 쿠키를 공격자의 호스트의 웹 서버를 통해 전달받을 것이기 때문에 칼리..
실습 환경: DVWA-Command injection, kali 리눅스 Command injection 공격 실습 다음과 같은 페이지에서 실습을 한다! 입력창에 IP 주소를 입력하면 해당 IP 주소로 ping 명령어를 실행한 후 그 결과를 출력해주는 페이지다. 한번 127.0.0.1을 입력하고 결과를 확인해보자 (127.0.0.1은 local IP 주소) 다음과 같이 ping 명령어를 실행한 결과가 출력된다. view source를 눌러 해당 페이지의 소스코드를 보자
id: level17 pw: king poetic level17의 힌트를 보자! level16이랑 굉장히 비슷하다! 다른 점은 level16에는 있던 shell() 함수가 level17의 attackme에는 존재하지 않는다. 하지만 권한을 level18로 바꾸어주는 setreuid는 있으므로 쉘을 띄워주는 쉘 코드를 환경변수에 등록하면 된다! 우선 main함수를 디스어셈블하자 디스어셈블 결과도 level16과 매우 똑같다. 그래도 스택 구조를 그려보자 스택 구조 역시 level16과 매우 똑같다. 달라진 점은 쉘코드를 환경변수에 넣고 환경변수 주소를 call 자리에 넣어야 한다는 점 뿐이다. 쉘 코드를 환경변수에 등록해주자! 이제 쉘 코드 시작 주소를 알아내는 shell.c 를 작성해서 컴파일 해주자 /..
실습환경 DVWA-SQL injection (Blind), kali 리눅스 Blind SQL injection 실습 이번에는 SQL syntax error가 출력되는 것이 아니라 사용자가 존재하는지 여부만 알려주고 있다. '를 입력해도 별 다른 에러가 발생하지 않아서 이 폼이 SQL 쿼리문을 사용하는지 사용하지 않는지도 알 수 없다. 그래서 우선 SQL 쿼리문을 사용하는지 사용하지 않는지를 먼저 알아보자 항상 참인 쿼리문 입력하기 1' AND 1=1# 이렇게 입력하면 User ID가 1인 사용자뿐만 아니라 1=1이라는 항상 참이 되는 조건이 추가되었기 때문에 id='1'인 사용자도 존재하고 1=1도 참이기 때문에 만약 폼이 SQL 쿼리문을 사용한다면 사용자가 존재한다는 결과가 나올 것이고 SQL 쿼리문을..
실습 환경: DVWA-SQL injection, kali 리눅스 UNION 구문을 이용한 공격 실습 UNION을 이용하려면 원래 쿼리문이 조회하는 SELECT 문의 칼럼 개수와 UNION 뒤의 SELECT 문에서 요청하는 칼럼의 개수가 같아야한다. (같지 않으면 syntax error 발생) 따라서 원래 쿼리문이 몇 개의 칼럼을 조회하고 반환하는지 알아야한다. 그래서 사용하는 것이 ORDER BY! ORDER BY? 지정된 칼럼을 기준으로 결과를 정렬할 때 사용하는 키워드 ex. ORDER BY 2 = 두번째 칼럼을 기준으로 정렬 ORDER BY 숫자를 증가시키다가 에러가 발생하면 그 전의 값이 칼럼의 개수가 된다. 입력창에 1' ORDER BY n #에서 n을 1씩 증가시켜가며 칼럼 개수를 파악해보자 ..
id: level16 pw: about to cause mass 힌트를 읽어봅시다. (오늘은 즐거운 추석연휴♡) 이번에는 main 함수 뿐만 아니라 shell 함수와 printit 함수까지 볼 수 있다. main함수에서는 call포인터에 printit 함수의 주소를 넣어주고, fgets 이후에 call함수를 호출하고 있다. shell은 main함수에서는 호출되지 않았지만, setreuid와 shell을 띄워주는 기능을 한다. 그럼 fgets 취약점을 이용해 call에 printit의 주소가 아닌 shell함수의 시작주소를 넣어준다면? shell()함수가 호출되면서 level17 권한의 shell이 실행될 것이다! 스택 구조 파악을 위해 attackme 파일을 디스어셈블해주자 level14,15와 거의 비..
내 첫 필름카메라는 수호가 사줬다...진짜 angel... 사실 수호는 지금 군대에 있는데 보고싶다ㅠㅠ (곰신은 아닌데 곰신같은 이 기분....) 내 첫 필카는 필름로그 upcycle color plus 200 이었는데 난 플래시가 이렇게 중요한 지 몰랐다,,,, 그래서 사진이 거의 다 어둡다ㅠㅠㅠㅠ 그래서 2번째 부터는 플래시 열심히 터트렸다 ㅎㅎ 확실히 필름카메라는 어떻게 나올지 몰라서 더 기대된다. 내 성격에 필름카메라를 좋아하게 될 줄은 전혀 몰랐음 근데 너무 좋다ㅎㅎ
실습환경: DVWA, kali 리눅스 WHERE 구문 우회 DVWA 보안 레벨을 low로 바꾸어주고 실습을 시작하쟈 SQL injection에서 user ID 입력하는 곳에 1을 입력해보았는데 ID가 1인 user의 이름을 함께 출력해주는 것을 볼 수 있다. SQL injection 취약점이 존재하는지 확인하기 위해 '를 입력해보았다. 그랬더니 syntax error와 URL의 파라미터에 id=' 를 볼 수 있다. 여기서 입력한 값으로 인해 SQL 쿼리문이 조작될 수 있다는 것을 알 수 있다. syntax error는 형식 에러, 위와 같은 경우에서는 따옴표의 쌍이 맞지 않아 에러가 발생함 =입력이 SQL 쿼리문에 영향을 줄 수 있다는 뜻 '를 입력했을 때 SQL 쿼리문은 다음과 같다. 우리는 모든 us..