from urlparse import urlparse import urllib def toGSBL(str_url, character_code) scheme, netloc, path, params, query, fragments = urlparse(unicode(str_url, character_code, 'ignore')) netloc = netloc.encode('idna') path = urllib.quote_plus(path.encode('utf-8'), '') if len(path) > 0 else '/' query = urllib.quote_plus(query.encode('utf-8'), '') if len(query) > 0 else '' return scheme + '://' + netloc
Google Safe Browsing APIは特定のURLやバイナリが安全か否かをチェックするAPI。さっと調べるときに便利なようにJupyterから使えるようにしてみた。 普通のURLを入れると何も値が出てこないので「安全でないURL」を探したのと、ヒアドキュメントにURLを埋め込むあたりに苦労の跡が。 import pycurl, io, json url = 'http://malware.testing.google.test/testing/malware/' api_key = 'your_api_key' data = ''' {{ "client": {{ "clientId": "your_client_name", "clientVersion": "0.1" }}, "threatInfo": {{ "threatTypes": ["THREAT_TYPE_UNS
はじめに インフルで1週間潰しました。辛かった。。。 ということで、クローリングについてです。 Pythonでクローリングするとなると、Scrapyはかなりよく出てくると思います。 僕も初めて触ってからかれこれ2年以上経っているように思います。 弊社Liaroでも使ってますし、何と言っても3系対応したのが嬉しいですね。 何を書くか チュートリアルとかは散々落ちてますので、TwitterをクローリングするときにAPIとどう連携させたかを書こうかと。どこか参考にしたはずなのですが忘れてしまい。。。見つけ次第リンク貼っておきます。 やってみた 方針 基本的には下図で言うMiddlewareをTwitter用に書いて、settingsを書いておく感じです。 Pythonバージョンは3.5.1で、Twitterライブラリはpython-twitterを使いました。 Middleware TW_CON
OSINT(Open Source Intellihence)というそうですね。いつの間にそういった言葉ができたのか、知りませんでしたが、どんな分野でも有用なWebサービスにはお世話になるものです。 セキュリティのWebサービスで有名どころと言えば VirusTotal があります。検体を投稿し、各ベンダーの製品でスキャンした結果を表示してくれます。他に、Webサイトのスキャンやファイルのハッシュ値でのスキャン結果の検索、IP、ドメインの情報の検索 など、利用可能な情報は多岐にわたります。 VirusTotalだけの話ではありませんが、投稿するファイルに機密な情報が含まれていないかは確認しておきましょう。こうした外部Webサイトへのファイルのアップロードは一般公開されても困らないもののみに限定すべきです。 こういった外部情報サイトは他にもあります。Webサイトの情報に特化したもの、マルウェ
皆さんご存知VirusTotalのAPIを少し試してみようと思います。 他の方のブログを見ていると、ハニーポットとVirusTotalを連携させてDionaeaに保全されたマルウェアを自動的に判定するようなものを作ったりしているのをみて、非常にそそられました。 なので、まずは「そもそもVirusTotal APIってなんぞ?」というところからはじめて、簡単な使い方などをまとめておこうと思います。 VirusTotalとは まずは基本的な話として、VirusTotalとは何かという話からはじめます。 簡単にまとめるとこんな感ですね。 ファイルをアップロードしたり、URLやファイルのハッシュ値をサーバーに問い合わせることによって、それがマルウェアなのか判定してくれたり、URLであれば攻撃サーバ(Command and Control Server: C2, C&C)なのかを判定してくれるWeb
目的 VirusTotal のAPIの使い方を覚えて、何かアンチマルウェア業界に貢献するツールを作ろうの会 前提 python 2.7.5 兎にも角にもひとまずリポジトリ VirusTotalとは? こちらです。 https://www.virustotal.com/ どういうページかというと、例えばの使い方ですが、怪しいファイルとかをぶち込めば、いろんなアンチウイルスにかけてくれて怪しいかどうか判定してくれたり、種々の解析情報を返してくれるページなのです。また、他の人がかけた結果もわかるので、例えばハッシュ値がわかって、すでに解析済みかどうかを調べることもできます。 ではVirusTotal APIとは? virustotalの機能をプログラムから利用できるAPIが公開されていて、多分ハッシュ値を投げれば情報を返してもらったり、その他もいろいろな事が出来ると思います(参考文献1.)。 基
Virus Total とは Analyze suspicious files and URLs to detect types of malware including viruses, worms, and trojans. 以下、日本語訳 ウイルスや、ワーム、トロイの木馬を含んだマルウェアの種類を検出するために疑わしいファイルやURLを分析します。 とのことです。 サイトには以下のようなフォームがあり、そこから分析対象とするファイルやURLを指定することができます。 試しに以前自分が発見したダウンローダが、Perl製のIRC Botを取得するために指定していたURLで分析を行いたいと思います。 結果は以下のようになりました。(ちなみに今回分析に使用したURLに"curl"コマンド等でリクエストを投げると実際にPerl製のIRC Botのソースコードが返ってきますのでご注意ください。)
はじめに この記事ではQiita APIおよびScrapyによるクローリング、スクレイピングによってQiitaの記事データ(タイトル、「いいね」数、投稿日時など)を取得しCSVファイルとして保存する方法を紹介する。 基本的にはQiita APIを使うべきだが、「ストック」数ランキングに限ってはスクレイピングで取得するほうが簡単。 以降のQiita APIやQiitaのサイトについての記述はすべて2018年8月15日時点の仕様。 収集したデータの分析については以下。 Python, pandasによるデータ分析の実践 (Qiita記事データ編) ※普段は自分のサイトに書いているのですが、Qiitaのデータを使わせてもらった内容はQiitaに書くのが筋だろうと思いこちらに書くことにしました。 「いいね」と「ストック」 Qiitaには「いいね」と「ストック」がある。 もともとは「ストック」だけだ
経緯 僕、普段はPythonとDjangoを使って 引きこもりしつつ飛び上がり自殺を考えながら 独自にwebアプリを書いているのですが、最近ではRailsでもSinatraでもFlaskでもDjangoでもPyramidでもなく、Goとそのフレームワークを使ってバックエンドコードを書いている(ように見える)ウェブアプリが見られます。 Goは並列処理がお得意な言語ということでよく知られていますが、今回、実際にGoでコードを書いてみて分かった事をまとめてみました。 書いたコード Go言語そのものを考えるために結構前に書いたやつ Ginを使って簡単なJSONを出力するため、結構前に書いたやつ GQLGenを使って認証機能を書いた 使ったフレームワーク 標準ライブラリ chi Gin Gorm GQLGen JWT 分かったこと Go言語そのものについて Go言語それ自体は並列処理が言語機能の一つ
前々回:API BlueprintでWeb APIのドキュメントを生成する - Qiita 前回:API Blueprintとapi-mockでモックサーバを作成する - Qiita 概要 さて、今回はAPI Blueprintを使って作成したWeb APIがドキュメント通りに動作するかを、dreddを使ってテストします。 dreddとは dreddはAPI BlueprintをベースにしたWeb APIのテストフレームワークです。"Language-agnostic"と謳っているだけあってテストのフックにはnode.js以外にもgoやPython、Rubyなど多様な言語が利用でき、またCircleCIやJenkinsCIなどのCIのサポートもあります。 このように、API Blueprintのエコシステムに乗っかることによって、API Blueprint形式で書いた仕様からaglioを使
概要 Django REST Frameworkに再挑戦 その1 参考サイト www.django-rest-framework.org www.codingforentrepreneurs.com Getting Started & Installations 以下の動画を参考にセットアップする。 Coding for Entrepreneurs API Module & ListAPIView posts/api ディレクトリを作成する。ついで、posts/api/init.pyを作成する。 posts/api/views.pyを作成する。 Generic views - Django REST framework # class based viewで作成する。 from rest_framework.generics import ListAPIView from posts.mo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く