write-up(web)
[Lord of SQLInjection] troll write-up
문제의 소스 코드입니다. id가 admin이 되면 문제가 풀립니다. mysql은 대소문자를 구분하지 않기 때문에 대소문자를 섞어서 admin을 입력해주면 됩니다. 끝!
[Lord of SQLInjection] orge write-up
문제의 소스 코드입니다. 전에 풀었던 orc 문제와 같은 문제입니다. 다만 다른 점은 or와 and를 필터링하고 있다는 점입니다. 소스 코드에 대한 설명은 아래 글을 참고해주세요. 아래 글에서 or를 ||으로 바꿔주고 and를 %26%26으로 바꿔주기만 하면 끝입니다. https://ssongkit.tistory.com/75 [Lord of SQLInjection] orc write-up 문제의 소스 코드입니다. 만약 id 값이 존재하면(쿼리의 결과가 참이면) Hello admin이 출력됩니다. 두 번째로 쿼리의 결과 값이 존재하면서 pw가 실제 데이터베이스의 pw값이랑 일치할 때 문제가 풀 ssongkit.tistory.com 결과로 나온 pw 값을 입력하면 문제가 풀립니다.
[Lord of SQLInjection] darkelf write-up
문제의 소스 코드입니다. id가 admin이 되면 문제가 풀립니다. 쿼리는 다음과 같습니다. pw='a' or id='admin'# 두 번째 필터링에서 or, and를 필터링하므로 or -> || and -> && 으로 우회해 줍니다. (url으로 전달할 때 &는 파라미터 구분 용도로 사용되므로 퍼센트 인코딩한 %26을 사용합니다) 끝!
[Lord of SQLInjection] wolfman write-up
문제의 소스 코드입니다. id가 admin이 되면 문제가 풀립니다. 먼저 guest가 id로 들어가 있으므로 해당 조건을 거짓으로 만들기 위해 pw에 임의의 값을 넣어줍니다. 그 다음에 문제에 맞는 조건을 넣어줍니다. 쿼리는 다음과 같습니다. pw='a' or id='admin' and (pw='a' or 1=1)# 공백을 필터링하고 있으므로 %09(tab)으로 우회해줍니다. 해당 쿼리를 url로 넘겨주면 문제가 풀립니다.
[Lord of SQLInjection] orc write-up
문제의 소스 코드입니다. 만약 id 값이 존재하면(쿼리의 결과가 참이면) Hello admin이 출력됩니다. 두 번째로 쿼리의 결과 값이 존재하면서 pw가 실제 데이터베이스의 pw값이랑 일치할 때 문제가 풀립니다. blind sql injection을 통해서 pw 값을 찾아서 값을 넣어줘야 합니다. pw에 임의의 값을 넣어서 false로 만들고 다른 조건을 뒤에 넣은 뒤 or로 연결시켜줍니다. 뒤의 조건이 true가 되면 Hello admin이 출력됩니다. 먼저 pw의 길이를 구한 뒤 1문자씩 무작위 대입을 통해 pw를 알아내겠습니다. 먼저 pw의 길이를 length() 함수를 통해 알아냅니다. 그런 뒤 substr() 함수를 통해 첫 번째 문자부터 1개씩 가져와서 무작위 대입으로 값을 알아냅니다. 만약..