開発
WeChall — "Training: Programming 1 "
beko
今回は、wechallの問題を解こうと思います。
今回は、programmingの問題でTraining: Programming 1 というものをときます。
まず、ページに行くとこのようになっています。

この英語を意訳しますと、リンクに飛べと書いていてその後にそこで表示されたメッセージをhttp://www.wechall.net/challenge/training/programming1/index.php?answer=メッセージ
という感じに、変更して、 1.337 秒以内にそこにアクセスしなさいという感じです。
今回の問題に関しては、手動では間に合わないためexploitを書こうと思います
まずは、メッセージを取ってくるところからやります。
import urllib2 url = "http://www.wechall.net/challenge/training/programming1/index.php?action=request" responce = urllib2.urlopen(url) print responce.read()
こんな感じで書いてみました。これでアクセスできたと思ったら、レスポンスがこのように返ってきました。
Please login by sending your cookies in the HTTP Header.
これをみて、あーセッションの維持が必要なのかと思いました。んで、結構考えた結果
今回は、pythonのmechanizeというライブラリを使ってとこうと思いました。
それで書いたコードがこれです。
import mechanize br = mechanize.Browser() #br.set_debug_http(True) br.set_handle_robots(False) br.open("http://www.wechall.net/login") br.select_form(nr = 0) br["username"]="自分のユーザーネーム" br["password"]="自分のパスワード" br.submit() br.set_handle_robots(False) br.open("http://www.wechall.net/challenge/training/programming1/index.php?action=request") response = br.response() send_mes = "http://www.wechall.net/challenge/training/programming1/index.php?answer=" + response.read() br.set_handle_robots(False) br.open(send_mes) result = br.response() a=result.read() print a f=open('out.html',"w") f.write(a) f.close
こんな感じで書いてみました。

結果もこのようになりました。
今回といた問題はprogrammingさえ出来ればそう難しくはない問題でした。
exploitは書いたほうが良いのでできるだけexploitを書くようにしましょう!
2024/09/13
2024/05/17
2024/05/10
2024/01/05
2023/08/18
2023/07/14
2023/05/12