전체 글(303)
-
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 -
2920
*문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, …, C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. 입력 첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다. 출력 첫째 줄에 ascending, descending, mixed 중 하나를 출력한다. 문제풀이 asecnding, de..
2022.04.01 -
2839
문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정..
2022.04.01 -
2480
문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게..
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