Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바문제풀이
- gitbash
- GIT
- wargame.kr
- 웹해킹
- 이진트리
- bootstrap
- 포렌식
- node
- NavBar
- mongoose
- 뷰
- 웹개발
- Express
- 이진탐색트리
- CTF
- 웹해킹기초
- 써니나타스
- 자바기초
- 포렌식워게임
- node.js
- 웹기초
- 자바
- nodeJS
- materialize
- MongoDB
- 워게임
- 그래프
- 워게임추천
- 자료구조
Archives
- Today
- Total
보안 전공생의 공부
[XCZ.kr] #32 Easy Trick | PHP 비교 연산자 취약점 본문
php 트릭을 이용하라는 점을 기억해야한다 !!
각 링크를 클릭해보면 prob page는 얻을 정보가 없다.
source page를 들어가보면 조건문이 있다.
입력받은 변수 a값이 12735366333132132465461????????????????????????????? 과 일치하면 key값이 나온다,
php 트릭을 이용하라한 점을 되새기며
이것저것 취약점을 찾아보았다.
urlencode 함수의 취약점은 딱히 검색되는게 없었고,
== 취약점을 검색해보니 엄청난 정보들이 검색되었다 !!
그래서 이 취약점에 대해 더 찾아보기로 하였다.
비교연산자 ==은 왼쪽과 오른쪽의 값이 같을 때에만 true라는 결과가 나오는데
17자리를 넘는 두 수를 비교할 때에는 미세한 값의 차이가 있어도 같은 값이라고 인식한다.
999999999999000000000 == 999999999999000111111
(참조 : blog.naver.com/withrubiya/70175920455 )
?를 1로 바꿔 입력해주면
$a == 1273536633313213246546111111111111111111111111111111 이고,
if문의 1273536633313213246546111111111111111111111111111111 ==12735366333132132465461?????????????????????????????는 true가 된다.
그래서 Key값이 출력된다.
키값을 입력하면 성공한다.
'Wargame > web' 카테고리의 다른 글
[Wargame.kr] #2 flee button (0) | 2021.02.02 |
---|---|
[Wargame.kr] #1 already got (0) | 2021.02.02 |
[SuNiNaTaS] #5 | 자바스크립트 난독화 (0) | 2021.01.26 |
[SuNiNaTaS] #6 (0) | 2021.01.20 |
[SuNiNaTaS] #2 (0) | 2021.01.20 |
Comments