목록2025/02/25 (3)
촉촉한초코칩

view-source id에 \\가 들어가면 아예 없어지는 걸로? 대체되고 '는 ''로 대체된다. 길이는 0~14글자로 한정된다. select문은 다음과 같다. select 1 from member where length(id) 이 구문이 있어야 통과된다.(여기서 1은 그냥 반환하는 값인 것 같다..) 풀이 찾아보다가..ㅎㅎmysql에서는 'a' = 'a '의 결과가 1로 나온다. https://techblog.woowahan.com/2559/char에서는 문자열을 비교할 때 공백을 채워서 비교한다. 짧은 쪽 끝에 공백을 추가하여 2개의 데이터가 같은 길이가 되도록 한다. 그리고 앞에서부터 한 문자씩 비교한다. varchar은 맨 처음부터 한 문자씩 비교하고 공백도 하나의 문자로 취급하여 끝 공백이 다..

Challenge 16*백그라운드에는 kk(1,1)이 계속 실행되고 클릭이나 키를 입력하면 mv가 실행되는 것 같다. kk에서는 랜덤으로 숫자를 뽑아 rndc에 넣고, 그 값에 따라 폰트 색이 정해지고 위치가 정해진다.mv에서는 키보드 키를 입력하면 별이 이동된다. W(119) : 위로 이동A(97) : 왼쪽으로 이동S(115) : 아래로 이동D(100) : 오른쪽으로 이동 마지막에 124와 같으면 php로 이동한다고 되어 있다. https://blog.outsider.ne.kr/322124는 | (파이프)를 뜻한다. |를 누르니 문제가 해결되었다..ㅎ

view-source id에 admin이 들어간다면 no를 출력하고 exit() 실행id는 admin과 동일해야 함 검사를 우회할 수 있는 방법을 찾아야할 것 같다. 1. a 아스키코드 a의 아스키 코드인 %65를 넣어서 %65dmin을 넣어봤는데 a로 바뀌면서 no가 나왔다. 아무래도 id값을 urldecode에 넣기 때문에 아스키코드를 쓰는 건 무의미한 것 같다. 2. 이중 인코딩(블로그 참고 ㅎㅎ) https://www.convertstring.com/ko/EncodeDecode/UrlEncode만약 %61dmin하면 %61이 a로 디코딩되어 admin이 되지만,%2561dmin하면 urldecode()에 의해 %61dmin이 되므로 한 번 더 디코딩 과정이 필요하다.