이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3928|회답: 3

[출처] EF 6는 네이티브 SQL 문과 매개변수 주입 문제를 실행합니다

[링크 복사]
게시됨 2023. 6. 14. 오후 9:14:48 | | | |
요구사항: 프로젝트는 EF ORM 프레임워크를 사용하여 데이터베이스를 추가, 삭제, 수정 및 점검하지만, 복잡한 쿼리 앞에서는 Linq와 Lambda를 사용해 더 나은 쿼리를 구현하기 어려울 수 있으므로, 쿼리를 위해 EF 6를 사용해 네이티브 SQL 문장을 실행해야 합니다.

원시 SQL 쿼리 (EF6):하이퍼링크 로그인이 보입니다.

SQL 문은 where 조건을 포함해야 하므로 매개변수 값은 URL 매개변수를 통해 전달됩니다.


먼저, 우리 SQL 문장은 다음과 같이 문자열 연결 방식으로 쿼리를 사용합니다:



코드는 다음과 같습니다:

데이터베이스에서 실행되는 SQL 문은 다음과 같이 확인할 수 있습니다:

[분류] 중에서 이름 선택 HERE 이름 = '모바일 개발'; 선택 1; --'

합격SQL 문이 스플라이싱되는 방식이 인젝션 위험에 노출되어 있습니다

SQL 인젝션 공격을 방지하기 위해 쿼리를 매개변수화하여 코드를 수정했으며, 코드는 다음과 같습니다:



exec sp_executesql N'SELECT Name FROM [분류] WHERE Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev'''; 선택 1; --'




EF 코어는 스플라이싱을 직접 사용하는 대신, 이를 매개변수화된 SQL 문으로 변환합니다. 참고문헌은 다음과 같습니다:

EF 코어 시리즈(5)는 SQL 문이나 뷰, 저장 프로시저를 실행합니다
https://www.itsvse.com/thread-9565-1-1.html

(끝)





이전의:인사이트: 블로그 정원에서 블로거의 서명을 봤어요
다음:SQLMAP 침투 도구인 SQL 주입 테스트 사용
 집주인| 게시됨 2023. 6. 17. 오전 11:11:50 |
SQLMAP 침투 도구를 이용한 SQL 주입 테스트
https://www.itsvse.com/thread-10611-1-1.html
 집주인| 게시됨 2023. 6. 30. 오후 8:47:17 |
 집주인| 게시됨 2025. 1. 2. 오후 12:10:38 |
[실제 전투]. sqlkata 기반 NET/C# SQL 쿼리 생성기
https://www.itsvse.com/thread-10370-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com