본문 바로가기

PHP2

[PHP] ereg(), eregi() 문자열 검사 함수 문자열 검사 함수 ereg(), eregi()입니다. 문자열 필터링에 많이 사용되었던 함수입니다. 이 두 개의 함수들은 현재는 사용 불가능한 함수지만, 한 번 정리해 봅니다. (사용 불가능한 이유는 아래에서 작성) 1. ereg() 사용법은 ereg([검색할 문자열], [검사할 문자열]) 입니다. 문자열에 admin이 있는지 확인하려면 ereg("admin", $str) 하면 됩니다. $str에 admin이 있는지 검사하는 코드입니다. admin이 있으면 no hack을 출력하고, 그렇지 않으면 $str을 출력합니다. no hack이 출력됩니다. 다만 ereg()함수는 대소문자를 구별합니다. 위의 예제처럼 Admin으로 바꾼 후 실행을 해 보겠습니다. 필터링되지 않는 모습이 보입니다. 이러한 특성 때문에.. 2022. 11. 1.
[PHP] str_replace() 문자열 치환 함수 사용법과 우회 방법 str_replace() 함수는 특정 문자열을 치환하는 함수입니다. 사용 방법은 str_replace([변경 대상 문자열], [변경할 문자열], [해당 문자열]) 입니다. 해당 예제는 "안녕하세요"를 "안녕안하세요"로 바꾸는 코드입니다. str_replace() 인수를 보면 "하세요" -> "안하세요" 이렇게 치환됩니다. 해당 코드의 실행 결과입니다. 치환이 된 것을 볼 수 있습니다. CTF 문제에서 str_replace()로 문자열 필터링을 거는 경우가 있습니다. str_replace() 인자에 따라 우회가 가능합니다. str_replace("admin", "", $str) 이렇게 필터링을 걸어놓았다고 해보겠습니다. admin -> 공백으로 치환됩니다. 결과 페이지에는 [그림 2]처럼 아무것도 뜨지 않.. 2022. 10. 25.