Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. Please review the code and return a brief report on all vulnerabilities discovered. There may be multiple vulnerabilities in each, so ensure your answers are thorough.
  2.  
  3. CODE 1)
  4. var http = require('http');
  5. var url = require('url');
  6.  
  7. var server = http.createServer(function (request, response) {
  8.  
  9. var queryData = url.parse(request.url, true).query;
  10. response.writeHead(200, {"Content-Type": "text/html"});
  11.  
  12. if (queryData.name) {
  13. response.end('<input type="button" value="'+queryData.name+'">\n');
  14.  
  15. } else {
  16. response.end("Hello World\n");
  17. }
  18. });
  19.  
  20. server.listen(8081);
  21.  
  22. CODE 2)
  23. var http = require('http');
  24. var needle = require('needle');
  25. var express = require('express');
  26. var app = express();
  27. var commandLineArgs = require('command-line-args');
  28.  
  29. var cli = [
  30. { name: 'port', alias: 'p', type: Number, defaultOption:80 }
  31. ]
  32. var options = commandLineArgs(cli)
  33.  
  34. app.get('/', function(request, response){
  35. var params = request.params;
  36. var url = request.query['url'];
  37. if (request.query['mime'] == 'plain'){
  38. var mime = 'plain';
  39. } else {
  40. var mime = 'html';
  41. };
  42.  
  43. console.log('New request: '+request.url);
  44.  
  45. needle.get(url, { timeout: 3000 }, function(error, response1) {
  46. if (!error && response1.statusCode == 200) {
  47. response.writeHead(200, {'Content-Type': 'text/'+mime});
  48. response.write('<h1>Welcome</h1>\n\n');
  49. response.write('<h2>I am an application. I want to be useful, so I requested: <font color="red">'+url+'</font> for you\n</h2><br><br>\n\n\n');
  50. console.log(response1.body);
  51. response.write(response1.body);
  52. response.end();
  53. } else {
  54. response.writeHead(404, {'Content-Type': 'text/'+mime});
  55. response.write('<h1>Welcome</h1>\n\n');
  56. response.write('<h2>I wanted to be useful, but I could not find: <font color="red">'+url+'</font> for you\n</h2><br><br>\n\n\n');
  57. response.end();
  58. console.log('error')
  59.  
  60. }
  61. });
  62. })
  63. if (options.port) {
  64. var port = options.port
  65. } else {
  66. var port = 80
  67. }
  68.  
  69. app.listen(port);
  70. console.log('\n##################################################')
  71. console.log('#\n# Server listening for connections on port:'+port);
  72. console.log('#\n##################################################')
  73.  
  74. CODE 3)
  75. private class MyWebViewClient extends WebViewClient {
  76.  
  77. private String mLastRequestMethod = "GET";
  78. private String sInterceptHeader;
  79.  
  80.  
  81. public String getInterceptHeader() {
  82. if (sInterceptHeader == null) {
  83. InputStream inputStream = Application.self().getResources().openRawResource(R.raw.post_interceptor);
  84. sInterceptHeader = readTextFile(inputStream);
  85. sInterceptHeader = StringUtils.readInputStream(Resources.getSystem().openRawResource(R.raw.post_interceptor));
  86. }
  87. return sInterceptHeader;
  88. }
  89.  
  90. private String readTextFile(InputStream inputStream) {
  91. ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
  92.  
  93. byte buf[] = new byte[1024];
  94. int len;
  95. try{
  96. while ((len = inputStream.read(buf)) != -1) {
  97. outputStream.write(buf, 0, len);
  98. }
  99. outputStream.close();
  100. inputStream.close();
  101. } catch (IOException e) {}
  102.  
  103. return outputStream.toString();
  104. }
  105.  
  106. @Override
  107. public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
  108. handler.proceed();
  109. }
  110.  
  111. @Override
  112. public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
  113. if (mLastRequestMethod.equals("POST")) {
  114. ...
  115. } else if (mLastRequestMethod.equals("GET")) {
  116. ...
  117. }
  118. return super.shouldInterceptRequest(view, request);
  119. }
  120. ...
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement