old-07 풀이
go라는 변수에 val의 값을 GET 형태로 가져옵니다 그리고 go에 2, -, +, from, _, =, \s, *, \가 있는 경우, "Access Denied!"를 출력하면서 필터링을 해줍니다 그리고 rand 변수에 랜덤 값을 하나 뽑아서 넣어주고, rand의 값에 따라 조건문을 다르게 실행합니다 쿼리의 결과가 2인 경우에만 문제가 해결됩니다 SQL Injection 문제인 것으로 보입니다 쿼리의 결과를 2로 조작해야 하는데, 필터링 목록에 2가 있네요... 이걸 어떻게 우회하는지가 관건인 것 같습니다 if(preg_match("/2|-|\+|from|_|=|\s|\*|\//i",$go)) exit("Access Denied!"); 좀 더 보기 편하도록, 필터링 부분만 다시 가져와봤습니다 숫자 2..
2024.02.26