XSS 안전 문자열 보간 체계의 개념 증명을 함께 작성하려고합니다. BNF 문법에서 상태 시스템 가져 오기
대체 된 문자열을 감안할 때
, 나는 상태 머신을 실행 한 후 문자 부분 및 대체("Hello<b>" planetoid "</b>!")
로 휴식하고 싶은
"Hello <b>$planetoid</b>!"
바로 문자 부분을 통해 왼쪽. 보간 값 (위의 planetoid
)에 도달하면 상태에서 적절한 이스케이프 함수를 가져올 수 있어야합니다.
누구든지 lex/yacc/bison을 사용하여 상태 시스템을 파생시키고 문법의 레이블을 출력 상태와 연관시키는 방법을 알고 있습니까? 자바에서 사용할 수있는 상태 머신을 파생시키고 PHP의 기본 문자열 구현을 대체하려고합니다.
내 이유는 here입니다.
환호 마이크
일반적
바이슨은 실제로 상태 머신을 생성하고 파싱하는 동안 발생하는 모든 축소 작업을 추가 할 수 있으므로 실제로 필요한 것은 문자열 내부의 $ vars를 대체하는 것입니다. 또는 무엇을? – Jack