File tree 2 files changed +23
-0
lines changed
2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ fn main() {
23
23
println ! ( "cargo:rerun-if-changed=templates/menu.js" ) ;
24
24
println ! ( "cargo:rerun-if-changed=templates/index.js" ) ;
25
25
println ! ( "cargo:rerun-if-changed=vendor/" ) ;
26
+ println ! ( "cargo:rerun-if-changed=vendor/fontawesome/scss/_variables.scss" ) ;
26
27
// TODO: are these right?
27
28
println ! ( "cargo:rerun-if-changed=.git/HEAD" ) ;
28
29
println ! ( "cargo:rerun-if-changed=.git/index" ) ;
Original file line number Diff line number Diff line change @@ -249,4 +249,26 @@ mod tests {
249
249
Ok ( ( ) )
250
250
} ) ;
251
251
}
252
+
253
+ #[ test]
254
+ fn directory_traversal ( ) {
255
+ wrapper ( |env| {
256
+ let web = env. frontend ( ) ;
257
+
258
+ let urls = & [
259
+ "../LICENSE.txt" ,
260
+ "%2e%2e%2fLICENSE.txt" ,
261
+ "%2e%2e/LICENSE.txt" ,
262
+ "..%2fLICENSE.txt" ,
263
+ "%2e%2e%5cLICENSE.txt" ,
264
+ ] ;
265
+
266
+ for url in urls {
267
+ let req = web. get ( & format ! ( "/-/static/{}" , url) ) . send ( ) ?;
268
+ assert_eq ! ( req. status( ) . as_u16( ) , 404 ) ;
269
+ }
270
+
271
+ Ok ( ( ) )
272
+ } ) ;
273
+ }
252
274
}
You can’t perform that action at this time.
0 commit comments