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