美文网首页CTFctfCTF
CTFlearn: Calculat3 M3

CTFlearn: Calculat3 M3

作者: SEVEN_9e53 | 来源:发表于2018-07-18 11:50 被阅读6次

    题目来源:https://ctflearn.com/index.php?action=find_problem_details&problem_id=150

    原题:

    Calculat3 M3

    Here! http://web.ctflearn.com/web7/ I forget how we were doing those calculations, but something tells me it was pretty insecure.

    点开题目给出的链接,可以看到一个网页版的计算器,计算得到的结果会出现在页面的左上角:

    查看这个页面的源码,看到这个页面调用了一个JS脚本:

    点击源码中的链接查看JS脚本:

    可以看到脚本中定义了三个函数,前两个是对一个变量赋值,最后一个是将这个变量的值放到eval()中执行。

    eval()函数接受一个字符串作为变量, 它会将这个字符串当做JS命令来执行。所以我们可以通过改变eval()的变量来实现代码注入。

    打开Burp Suite的代理,在网页中计算1+1,利用Burp Suite来截获页面的请求:

    可以看到操作的参数在expression中,发送这个请求后网页会返回结果2。所以eval()应该接收了1+%2B+1+为变量并运行得到了结果。所以我们尝试编辑expression来实现代码注入。

    尝试输入了:10 ; system(\"/bin/echo uh-oh\"); 

    ;return 1;

    但是网页没有返回任何东西。这可能是为了保护网站服务器而屏蔽了一些危险的字符。尝试最基础的命令ls。输入代码 ;ls。服务器返回了当前目录下的文件:

    可以看到其中一个文件名就是flag值。

    相关文章

      网友评论

        本文标题:CTFlearn: Calculat3 M3

        本文链接:https://www.haomeiwen.com/subject/galopftx.html