File tree Expand file tree Collapse file tree 2 files changed +58
-0
lines changed
library-tests/frameworks/hapi/src
query-tests/Security/CWE-022/TaintedPath Expand file tree Collapse file tree 2 files changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ var server1 = new ( require ( '@hapi/hapi' ) ) . Server ( ) ; // HTTP::Server
2+
3+ var Hapi = require ( '@hapi/hapi' ) ;
4+ var server2 = new Hapi . Server ( ) ; // HTTP::Server
5+
6+ function handler1 ( ) { } // HTTP::RouteHandler
7+ server2 . route ( {
8+ handler : handler1
9+ } ) ;
10+
11+
12+ server2 . route ( {
13+ handler : function handler2 ( request , reply ) { // HTTP::RouteHandler
14+ request . response . header ( 'HEADER1' , '' ) // HTTP::HeaderDefinition
15+ } } ) ;
16+
17+ server2 . ext ( 'onPreResponse' , function handler3 ( request , reply ) { // HTTP::RouteHandler
18+ } )
19+
20+ function handler4 ( request , reply ) {
21+ request . rawPayload ;
22+ request . payload . foo ;
23+ request . query . bar ;
24+ request . url . path ;
25+ request . headers . baz ;
26+ request . state . token ;
27+ }
28+ var route = { handler : handler4 } ;
29+ server2 . route ( route ) ;
30+
31+ server2 . cache ( { segment : 'countries' , expiresIn : 60 * 60 * 1000 } ) ;
32+
33+ function getHandler ( ) {
34+ return function ( req , h ) { }
35+ }
36+ server2 . route ( { handler : getHandler ( ) } ) ;
Original file line number Diff line number Diff line change 1+ const Hapi = require ( '@hapi/hapi' ) ;
2+ const fs = require ( 'fs' ) . promises ;
3+
4+ ( async ( ) => {
5+ const server = Hapi . server ( {
6+ port : 3005 ,
7+ host : 'localhost'
8+ } ) ;
9+
10+ server . route ( {
11+ method : 'GET' ,
12+ path : '/hello' ,
13+ handler : async ( request , h ) => {
14+ const filepath = request . query . filepath ; // $ MISSING: Source
15+ const data = await fs . readFile ( filepath , 'utf8' ) ; // $ MISSING: Alert
16+ const firstLine = data . split ( '\n' ) [ 0 ] ;
17+ return firstLine ;
18+ }
19+ } ) ;
20+
21+ await server . start ( ) ;
22+ } ) ( ) ;
You can’t perform that action at this time.
0 commit comments