write-up(web)
![[Lord of SQLInjection] troll write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbTW3H5%2FbtrIwG0gimc%2FAAAAAAAAAAAAAAAAAAAAAA1u_ZzRNNexSZW8uys_YYEaYDZLRpBSEiqznFR8twVx%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D9lEdworknzVtWR4DHkrWeWp8iRw%253D)
[Lord of SQLInjection] troll write-up
문제의 소스 코드입니다. id가 admin이 되면 문제가 풀립니다. mysql은 대소문자를 구분하지 않기 때문에 대소문자를 섞어서 admin을 입력해주면 됩니다. 끝!
![[Lord of SQLInjection] orge write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fom9Gk%2FbtrIyvXXHed%2FAAAAAAAAAAAAAAAAAAAAACsh05lLTU9YYbS31r0Q9Oe4oPRs_H0HCYp59H9STK6-%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D%252Bo9A9pJiEz1Ts%252Fce5Q7RrKZvlyU%253D)
[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](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbOSDqg%2FbtrICZKfkCU%2FAAAAAAAAAAAAAAAAAAAAABvld8oMVwRZA6v_jkILkAN9sDKmLEa3az6Zb0ojhjun%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DEK67xn2ThLyTYT1DuLBf48myQsQ%253D)
[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](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb170fQ%2FbtrIA1u1lM0%2FAAAAAAAAAAAAAAAAAAAAAET_hZqV24Yo1OppVmiZzpV7oHvdtGxfnAk-lW_tc358%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3DOvc0uTz9o4Mzwz2zZ5B%252BpvMdaN0%253D)
[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](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc0cPrg%2FbtrIxTjTYzO%2FAAAAAAAAAAAAAAAAAAAAAPqWyMr6WreyW0K46N5VPerMhgJNOPCofCi81042BmD9%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1759244399%26allow_ip%3D%26allow_referer%3D%26signature%3D6asDCdfuLqPSBSTNN7%252FAkhN3kEc%253D)
[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개씩 가져와서 무작위 대입으로 값을 알아냅니다. 만약..