Site(96)
-
bugbear
이번시간에는 bugbear을 풀어보겠습니다 공부하는 입장이라 틀린 것이 있더라도 양해부탁드립니다 점점 필터링이 많아지는 것 같습니다 prob _ . ( )을 필터링 substr ascii = or and like 공백 필터링 addslashes함수로 pw 필터링 -> sql injection 공격 불가능 쿼리에서 가져온 pw값과 정확히 일치해야 클리어 이번문제도 sql blind injection인 것 같습니다 우회방법 ' -> " substr -> mid ascii -> hex =, like -> in or, and -> ||[%7C%7C], &&[%26%26] 공백 -> %09 일단 pw의 길이부터 구해보겠습니다 =, like을 둘다 쓰지 못하니 IN을 넣어 길이를 구했습니다 기존처럼 mid함수를 이..
2022.04.05 -
darknight
이번시간에는 darknight를 풀어보겠습니다 아직 공부하는 입장이라 틀린것이 있더라도 양해부탁드립니다 첫번째 preg_match에서 prob _ . ( )를 필터링해주고 두번째 preg_match에서 ' 필터링 3번preg_match에서는 ' substr, ascii =을 필터링 해줍니다 addslashes함수로 pw를 필터링 해주고 쿼리문에서 가져온 pw값과 get방식으로 받은 pw값이 정확히 일치해야 하므로 이번 문제도 sql blind injection 풀이법으로 가면 될 것 같습니다 먼저 우회 방법으로 ' -> " = -> like substr -> mid 로 대체해서 접근하면 될 것 같네요 먼저 pw의 길이부터 확인하겠습니다 ?pw=&no="1" or id like "admin" and len..
2022.04.05 -
golem
먼저 소스코드를 보면 첫번째 preg_match함수로 prob _ . ( )를 필터링해주고 두번째 preg_match함수에서 or and substr ( = 을 필터링 처리해주고있습니다 addslashes함수로 get방식으로 받아온 pw값을 필터링해주므로 sql injection 공격이 불가능할 것 같네요 쿼리문에서 추출된 pw와 get방식으로 받아온 pw값이 정확히 일치해야 클리어될 것 같습니다 따라서 이번는 blind sql injection을 이용해야 될 것 같습니다 우회방법 or -> ||, and -> &&, substr -> mid, = -> like로 우회를 하면 될 것 같습니다 cf) mid(문자, 시작위치, 가져올갯수); ex) mid('abcde', 2, 4); -> bcde 접근방법 ..
2022.04.02 -
skeleton
소스코드를 보니 이번문제에서도 result['id']가 admin이면 클리어입니다 특이한 점은 query부분에서 1=0을 넣어주어 항상 false인 값을 만들어줍니다 접근방법은 결국 and 1=0부분을 주석처리해주어 신경쓰지 않도록 해주면 될 것 같습니다 id='admin' -- ' and 1=0을 해주면 -- '가 주석처리를 해주기 때문에 id='admin' -- ' and 1=0 밑줄친 부분을 읽지 않게되고 result[id]가 admin이기 때문에 간단하게 클리어 될 것 같습니다 cf) 물론 #(%23)을 넣어서 주석처리 해줘도 됩니다
2022.04.01 -
vampire
이번시간에는 vampire을 풀어보겠습니다 아직공부하는 입장이니 틀린 것이 있더라도 양해부탁드리겠습니다 소스코드를 한번 보겠습니다 preg_match로 '가있다면 검열해주고 get방식으로 받아온 id값을 strtolower함수로 소문자로 바꿔줍니다 str_replace함수로 admin -> 공백으로 치환을해줍니다 그리고 id값이 admin이면 클리어인데 위에서 언급한것 처럼 제약이 2개가 있네요 1. strtolower로 입력값 -> 소문자로 치환 2.str_replace함수로 admin -> 공백으로 치환 admin만 맞추면되니 1번은 신경쓸 필요가 별로 없을 것 같은데 2번이 문제입니다 admin을 공백으로 바꿔주니 aadmindmin이라고 입력하게된다면 aadmindmin 밑줄친 admin이 공백처..
2022.04.01 -
troll
안녕하세요 이번시간에는 troll을 풀어보겠습니다 아직 공부를 하는 입장이니 틀린 것이있더라도 양해부탁드리겠습니다 소스코드를 보니 위 같은 화면이 나왔습니다 일단 기존껀 동일하고 id가 admin이면은 클리어 되는 것 같습니다 preg_match함수로 ', admin을 검열을 해주는데 여기서 중요한 부분이 i옵션인데 i옵션은 대소문자 구분없이 검열을 해줍니다 하지만 admin부분에 preg_match함수에서는 i의 옵션이 없기 때문에 소문자 admin만 검열을 해주고 대소문자를 섞어쓰면 클리어 될 것 같습니다
2022.04.01