说实在的,上hack this site网站混好几天了,这关是第一个自己过的(除了第一个的白痴关),主要是因为没有其他人帮助 <再次谢谢一个叫TimJohd的博客,这哥们真人才,从他这里学了好多,还有林外的博客http://linwai23.blog.163.com/blog/static/2469859200811239756158/,帮了不少忙>
说说正题,这关其实并不难,只要思路对,并且前几个任务的东西都掌握,其实挺简单的。。。<害了我一晚上啊>
看看题目
From: DarkOneWithANeed
Message: Hey man, you gotta help me out, Gary Hunter, one of the richest men in America, has just deposited $10,000,000 into his bank account at the United Banks Of America and plans to donate that money to a campaign to hunt down and lock up all hackers. Now I've tried hacking their sites but I'm just not good enough. That's why I need your help, Here's a list of your objectives:
1. Find the account of Gary Hunter (I don't know his account name).
2. Move the $10,000,000 into the account dropCash.
3. Clear The Logs, They're held in the folder 'logFiles'.
I really hope you can do this, because if you can't we're all screwed
首先需要找到那个是Gary Hunter 这老兄的用户名,有个查找用户,因为不确定这人的用户名,所以直接查不大是个好方法。试试sql注入,里面写<--' or 'a'='a-->(括号里边的东西啊),好了所有用户都列出来了,里面有两个用户需要注意下一个是叫GaryWilliamHunter的,另外一个叫dropcash的,(说实在的里面乱七八杂的用户名真多,刚开始还让我试了个错的,后来在看遍题才确定gray的用户名),后边的用户名可以用来登陆,可以不用再申请了,密码: 123abc。好了的准备工作做好了,下一步改怎么转钱了,一般人第一想法都是破解密码然后登陆,其实有时候感觉这是最笨的方法,找到用户的密码几乎不可能。。。不过登陆一定要试试的,在login里边进行注入试试,用户名GaryWilliamHunter,密码<--' or 'a'='a-->,结果不好使,说明登陆的方法走不通。那就先用已有用户名登陆吧,自己申请也行,用dropcash登陆也行,进去后查看下源文件,发现有两个form,但是form中没写用户名,点转账还提示说你没钱,说名提交表单时候确实提交了你的用户名,这。。。。对了,查看cookie试试,在地址栏输入javascript:alert(document.cookie);好了,这回明白了,里边有个accountUsername写着你的用户名,改掉它试试,javascript:alert(document.cookie="accountUsername=GaryWilliamHunter") <这里alert可以改成void,不过我习惯用alert,这样如果我改成了还弹了对话框,心里有底>。好了,现在填表单吧,<这要是真银行就好了,我早改在我账户下了...>,按照要求,要转的人天dropcash,金额填10000000,提交,提示说第一步完成。
好了,现在开始毁尸灭迹。先说明一下,网站上有人说按后退然后在清文件的时候提示说清理成功但是还没转钱,不过这个我到没遇到,后退重新登录然后清理就告知成功了,也许是网站改了这bug了吧。一会我分两头说,总之原理一样。现在从新理下思路,任务上告知说清登陆日志,说是在logFiles文件夹(这东西害死我了,我还以为会是子文件夹,或者父文件夹,乱七八糟改半天,最后还是上用代理外国网站看YouTube的视频才明白,这个恨),好了,刚才有个表单提交cleardir的,把他提交的dir改成logFiles就搞定了,不过怎么改,JavaScript,我说了用url直接提交就是写cleardir.php?dir="logFiles"不成功,原因不明,不过感觉原理对啊。。。。好了,分头说,先说不后退的,直接在地址栏输入javascript:void(document.write('<form action=cleardir.php method=post><input type=hidden name=dir value=LogFiles><input type=submit value="ClearFiles In Personal Folder"></form>')),意思就是重新写了表单并提交,好了,直接成功了,再说后退重新登录的javascript:alert(document.forms[0].dir.value="logFiles");然后提交,搞定。
好了,任务完成,最后在跟大家说一下查看页面元素的简单办法,如果你用火狐的话,恭喜你,你有n多强大插件,有一个叫firebug的,确实挺强大,就是给的信息有点多,实在是不好找。。。举个例子查看cookie在dom里面document然后cookie。这里可以直接改。
当然,火狐不一定都用,毕竟用户使用率连50都不到。对大部分用户,建议用一个叫 网页源代码查看分析器的软件,这软件我该觉做的还行,就是功能感觉一般。
好了,任务结束。。。。