e modifier 취약점 문제.
찾아보니까 real world에서는 대부분 패치되어 이용하기 힘든 취약점이라고 한다.
preg_replace함수는 특정 문자열을 필터링할 수 있는 함수인데,
/e 옵션을 넣어주면 "치환되는 문자"부분을 php코드 그대로 해석해준다.
즉, php코드로 실행시킬 수 있다는 말이 된다.
search부분에는 /[0-9]/e 로 /e옵션을 줬고,
replace부분에는 원격 파일을 읽을 수 있는 방법 중 하나인
file_get_contents('flag.php'); 를 입력했다.
content부분에는 숫자 1을 입력해줘서 문자열이 치환되도록 했다.
*fopen함수를 이용해서 읽었을 때는 resource id #2 라는 문구가 출력됐는데,
나중에 좀 더 알아보자.
'WebHacking' 카테고리의 다른 글
[webhacking.kr] 23번 (0) | 2020.01.06 |
---|---|
[root-me] CSRF - 0 protection (0) | 2020.01.06 |
[root-me] PHP Loose Comparison (0) | 2020.01.06 |
[root-me] Local File Inclusion - Double encoding (0) | 2020.01.06 |
[root-me] Local File Inclusion (0) | 2020.01.06 |