这道题还挺有意思的...

http://123.206.87.240:8006/test/hello.php

查看元素,有个1p.html,访问。

还没看到网页元素就跳转了...抓包!

抓到了一堆东西

如下:(其实是很长的,为了好看按了几下回车)
<!--

var Words ="%3Cscript%3Ewindow.location.href%3D%27http%3A//www.bugku.com%27%3B%3C/script%3E%20%0A%3C%21--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlk

JTNEMSUyNyUyOSUzQiUwQSUwOWV4aXQlMjglMjklM0IlMEElN0QlMEElMjRpZCUzRCUyNF9HRVQlNUIlMjdpZCUyNyU1RCUzQiUwQSUyNGElM0QlM

jRfR0VUJTVCJTI3YSUyNyU1RCUzQiUwQSUyNGIlM0QlMjRfR0VUJTVCJTI3YiUyNyU1RCUzQiUwQWlmJTI4c3RyaXBvcyUyOCUyNGElMkMlMjcuJTI3JTI5JT

I5JTBBJTdCJTBBJTA5ZWNobyUyMCUyN25vJTIwbm8lMjBubyUyMG5vJTIwbm8lMjBubyUyMG5vJTI3JTNCJTBBJTA5cmV0dXJuJTIwJTNCJTBBJTdEJTBBJTI0ZGF0

YSUyMCUzRCUyMEBmaWxlX2dldF9jb250ZW50cyUyOCUyNGElMkMlMjdyJTI3JTI5JTNCJTBBaWYlMjglMjRkYXRhJTNEJTNEJTIyYnVna3UlMjBpcyUyMGElMjBu

aWNlJTIwcGxhdGVmb3JtJTIxJTIyJTIwYW5kJTIwJTI0aWQlM0QlM0QwJTIwYW5kJTIwc3RybGVuJTI4JTI0YiUyOSUzRTUlMjBhbmQlMjBlcmVnaSUyOCUyMjExMS

UyMi5zdWJzdHIlMjglMjRiJTJDMCUyQzElMjklMkMlMjIxMTE0JTIyJTI5JTIwYW5kJTIwc3Vic3RyJTI4JTI0YiUyQzAlMkMxJTI5JTIxJTNENCUyOSUwQSU3QiUwQSUwOXJ

lcXVpcmUlMjglMjJmNGwyYTNnLnR4dCUyMiUyOSUzQiUwQSU3RCUwQWVsc2UlMEElN0IlMEElMDlwcmludCUyMCUyMm5ldmVyJTIwbmV2ZXIlMjBuZXZlciUyMGdpd

mUlMjB1cCUyMCUyMSUyMSUyMSUyMiUzQiUwQSU3RCUwQSUwQSUwQSUzRiUzRQ%3D%3D--%3E"
function OutWord()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
}
OutWord();
// -->

这很明显加密过啊,解密!(看多了都知道这是url加密)

发现还是看不懂,又是一层加密(看多的人都知道这是base64加密)

base64 decode后你会得到:

%22%3Bif%28%21%24_GET%5B%27id%27%5D%29%0A%7B%0A%09header%28%27Location%3A%20hello.php%3Fid%3D1%27%29%3B%0A%09exit%28%29%3B%0A%7D%0A%24id%3D%24_GET%5B%27id%27%5D%3B%0A%24a%3D%24_GET%5B%27a%27%5D%3B%0A%24b%3D%24_GET%5B%27b%27%5D%3B%0Aif%28stripos%28%24a%2C%27.%27%29%29%0A%7B%0A%09echo%20%27no%20no%20no%20no%20no%20no%20no%27%3B%0A%09return%20%3B%0A%7D%0A%24data%20%3D%20@file_get_contents%28%24a%2C%27r%27%29%3B%0Aif%28%24data%3D%3D%22bugku%20is%20a%20nice%20plateform%21%22%20and%20%24id%3D%3D0%20and%20strlen%28%24b%29%3E5%20and%20eregi%28%22111%22.substr%28%24b%2C0%2C1%29%2C%221114%22%29%20and%20substr%28%24b%2C0%2C1%29%21%3D4%29%0A%7B%0A%09require%28%22f4l2a3g.txt%22%29%3B%0A%7D%0Aelse%0A%7B%0A%09print%20%22never%20never%20never%20give%20up%20%21%21%21%22%3B%0A%7D%0A%0A%0A%3F%3E

继续url decode

得到代码:(看多的都知道,这是php代码)

";if(!$_GET['id'])
{
header('Location: hello.php?id=1');
exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
echo 'no no no no no no no';
return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
require("f4l2a3g.txt");
}
else
{
print "never never never give up !!!";
} ?>

了解一下相关函数:

1.stripos() 函数:查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

2.file_get_contents() 把整个文件读入一个字符串中。

3.eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。(php5.3已经不支持了,这题好老)

好了,让我们来看看它的代码。

最后get请求的参数对了,就会访问 f4l2a3g.txt 这个文件。

那我们访问一下

好了

最新文章

  1. SuiteScript &gt; RecordType internalID采集步骤与结果
  2. 文本数据源Fields Format
  3. angularjs实现 checkbox全选、反选的思考
  4. poj-3255-Roadblocks-路径可重复次短路
  5. memmove和memcpy 以及strcmp strcpy几个库函数的实现
  6. JSP和servlet结合案例
  7. yii2中的url美化
  8. 4月5日--课堂笔记--JS内置对象
  9. 详解Ajax请求(四)——多个异步请求的执行顺序
  10. VMS项目总结
  11. VMware Workstation 14安装VMware Tools
  12. es6(二)
  13. [Python设计模式] 第24章 加薪审批——职责链模式
  14. 20155228 2016-2017-2 《Java程序设计》第6周学习总结
  15. 深入理解java虚拟机----java技术体系(一)
  16. (原创)用c++11打造类似于python的range
  17. 无插件用Terminal/TotalTerminal的开当前finder位置
  18. Delphi Code Editor 之 基本操作
  19. dede 复制文章,远程图片无法本地化
  20. springboot-17-springboot的文件上传和下载

热门文章

  1. Java_GUI小游戏--FlappyBird 橡树鸟
  2. yum update 更新失败
  3. 线程系列3--Java线程同步通信技术
  4. Retrofit 使用简介
  5. 【Nginx】 linux环境下安装nginx步骤
  6. 安卓 API 19 低版本设置自带的圆圈效果
  7. LeetCode 136. 只出现一次的数字(Single Number)
  8. Cannot use unsafe construct in safe context
  9. leetcode 547朋友圈
  10. 搭建Java服务器,并且实现远程安全访问linux系统