마흔여섯 번째 글. 1. 코드 분석 str_replace() 함수를 이용해서 파라미터에 문자열 'admin'이 존재하면 ''로 치환한다. 2. exploit str_replace()함수는 지정 문자열을 찾은 뒤 설정한 문자열로 치환을 하고 그것을 반환한다. ?id=adadminmin 중간에 문자열 'admin'이 ''로 치환되고 최종적으로 admin이 되므로 간단하게 우회할 수 있다. 생각보다 술술 풀려서 글이 밀려있다;; 그래도 안쓸 수는 없으니까 열심히 쓴다.
마흔세 번째 글. 1. 코드 분석 공백을 필터링하고 있었고 result의 id가 admin이면 문제가 풀리게 된다. 2. Exploit 공백을 우회하는 방법은 매우 많다.(Reference 참고) ?pw=?pw='/**/or/**/id='admin'%23 나는 주석을 이용하였다. Reference https://posix.tistory.com/42 //공백우회 https://portswigger.net/support/sql-injection-bypassing-common-filters
마흔두 번째 글. 1. 코드 분석 섹션 1의 코드는 result의 id에 결괏값이 있으면 단순히 'Hello admin'이라는 문자열을 출력한다. 섹션 2의 코드에서는 사용자가 입력한 pw와 쿼리를 통해서 얻은, 즉 테이블에 있는 pw가 같으면 문제가 풀린다. 다시 말해 온전한 패스워드 값을 입력해야 한다는 뜻이 된다. 2. Exploit 섹션1의 코드를 잘 생각해보면 result의 결괏값의 유무에 따라서 특정 동작이 수행되기 때문에 Blind SQL injection을 바로 떠올릴 수 있다. 온전한 패스워드 값을 얻기 위해서 먼저 길이를 알아야 하고 그다음 한 글자 씩 찾아내야 한다. ?pw=' or length(pw)=비교값%23 패스워드의 길이는 length() 함수를 이용하여 알아내야 한다. 테이..
마흔한 번째 글. 1. 코드 분석 앞선 문제들과 다른 점은 single quote, double quote, backtick을 필터링하여 사용되면 'No Quotes ~_~'를 출력한다. 2. Exploit single quote를 쓸 수 없기 때문에 'admin' 같은 문자열을 사용할 수 없다. 따라서 간단하게 char() 함수를 이용하자. char() 함수는 아스키코드를 문자열로 반환해주는 함수이다. ?no=1000 or id=char(97,100,109,105,110) (처음에 no에 1을 주었더니 guest와 대응돼서 true가 나오기 때문에 1 이상의 값을 주도록 하자.)
보호되어 있는 글입니다.
- Total
- Today
- Yesterday
- csp
- xxe injection
- hackerfactory
- 드림핵 Relative Path Overwrite
- htb Windows Fundametals
- php LFI
- DreamHack
- hack the box
- LFI vulnerability
- 드림핵
- dreamhack web-alasql
- webhacking.kr
- blind injection
- wargame
- htb
- Windows Fundamentals
- WebHacking
- alasql
- 드림핵 DOM XSS
- 웹해킹
- dreamhack CSS Injection
- 해커팩토리
- dreamhack padding oracle
- dreamhack DOM XSS
- dreamhack Relative Path Overwrite
- Lord of SQL injection
- CSS Injection
- 드림핵 padding oracle
- SQL Injection
- csp bypass
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |