body { padding-left: 30%; } #flag { font-family: Garamond, serif; font-size: 3.._攻防世界 flag_in_your_hand">
当前位置:   article > 正文

攻防世界 flag_in_your_hand

攻防世界 flag_in_your_hand

下载附件打开文件中的html文件

无论输入什么都是错误

我们打开网页源代码看看

  1. <html>
  2. <head>
  3. <title>Flag in your Hand</title>
  4. <style type="text/css">
  5. body {
  6. padding-left: 30%;
  7. }
  8. #flag {
  9. font-family: Garamond, serif;
  10. font-size: 36px;
  11. }
  12. #flagtitle {
  13. font-family: Garamond, serif;
  14. font-size: 24px;
  15. }
  16. .rightflag {
  17. color: green;
  18. }
  19. .wrongflag {
  20. color: red;
  21. }
  22. </style>
  23. <script src="script-min.js"></script>
  24. <script type="text/javascript">
  25. var ic = false;
  26. var fg = "";
  27. function getFlag() {
  28. var token = document.getElementById("secToken").value;
  29. ic = checkToken(token);
  30. fg = bm(token);
  31. showFlag()
  32. }
  33. function showFlag() {
  34. var t = document.getElementById("flagTitle");
  35. var f = document.getElementById("flag");
  36. t.innerText = !!ic ? "You got the flag below!!" : "Wrong!";
  37. t.className = !!ic ? "rightflag" : "wrongflag";
  38. f.innerText = fg;
  39. }
  40. </script>
  41. </head>
  42. <body>
  43. <h1>Flag in your Hand</h1>
  44. <p>Type in some token to get the flag.</p>
  45. <p>Tips: Flag is in your hand.</p>
  46. <div>
  47. <p>
  48. <span>Token:</span>
  49. <span><input type="text" id="secToken"/></span>
  50. </p>
  51. <p>
  52. <input type="button" value="Get flag!" onclick="getFlag()" />
  53. </p>
  54. </div>
  55. <div>
  56. <p id="flagTitle"></p>
  57. <p id="flag"></p>
  58. </div>
  59. </body>
  60. </html>

 获得flag

  1. function getFlag() {
  2. var token = document.getElementById("secToken").value;
  3. ic = checkToken(token);
  4. fg = bm(token);
  5. showFlag()
  6. }

输出flag

  1. function showFlag() {
  2. var t = document.getElementById("flagTitle");
  3. var f = document.getElementById("flag");
  4. t.innerText = !!ic ? "You got the flag below!!" : "Wrong!";//判断ic是true还是flase
  5. t.className = !!ic ? "rightflag" : "wrongflag";
  6. f.innerText = fg;
  7. }

 然后我们查看script-min.js其中改变ic的值的

  1. function ck(s) {
  2. try {
  3. ic
  4. } catch (e) {
  5. return;
  6. }
  7. var a = [118, 104, 102, 120, 117, 108, 119, 124, 48,123,101,120];
  8. if (s.length == a.length) {
  9. for (i = 0; i < s.length; i++) {
  10. if (a[i] - s.charCodeAt(i) != 3)
  11. return ic = false;
  12. }
  13. return ic = true;
  14. }
  15. return ic = false;
  16. }

我们读代码发现当a-我们输入的字符串等于3的时候ic就是true所以我们把它翻过来我这里用python写的

  1. a=[118, 104, 102, 120, 117, 108, 119, 124, 48, 123, 101, 120]
  2. b=''
  3. for i in a:
  4. b+=chr(i-3)
  5. print(b)

运行一下

 得出结果

security-xbu

 我们返回html输入这个值

就得出了,flag

RenIbyd8Fgg5hawvQm7TDQ

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/443598
推荐阅读
相关标签
  

闽ICP备14008679号