今さら聞けないセキュリティ 2021年11月30日

今さら聞けないセキュリティ 2021年11月30日

SHODANを使った自社サイトの簡易セキュリティチェック

SHODANを利用した自社サイトの簡易セキュリティチェックの手順を記載します。
※あくまで簡易チェックですので、細かいチェックをする場合は別途ツールなり診断業者を利用しましょう。

##SHODANとは
SHODANとはインターネット上に公開されている機器を自動でクロールし、IPアドレス、ポート番号などの収集し、公開しているWebサービスです。公開されている情報に意図しない設定や情報などが含まれていると攻撃者に悪用される可能性があります。
https://www.shodan.io/

##SHODANの利用方法
SHODANを利用するためにはユーザ登録が必要です。

![WS000001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2332839/ac1ea345-7f8a-2655-d0c4-118c4146b72c.jpeg)
[SIGN UP NOW]をクリック

![WS000002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

【迷惑メール】親のスマホに送られたURLを解析していくゥ

#ある日突然….
親のスマホに迷惑SMSが送られてきた。
文言は忘れたが、セキュリティが危ないらしい。

#とりあえずURLを開く
送られたURLをPCで開くことにした。
非常に凝っているようで、PCのユーザーエージェント(UA)ではページが正しく表示されない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1523062/817887e0-77a8-c3cc-7550-f4d60b7de195.png)

?ってなんだよって思いながら、スクリプトを拝見すると、以下のようになっていた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1523062/5ad4692c-a95f-4836-dddc-14d0e93d9b25.png)

簡単なJavaScriptでiPhoneかAndroid端末のUAだと表示されるようだ!

“`
もし「iPhone」でサイトにアクセスして来たらサイトの内容

元記事を表示

【SAP-C01試験対策】DDoS攻撃に対する対策

# はじめに
AWS上のDDoS攻撃に対するセキュリティ技術を勉強するために以下の公式ドキュメントおよび研修を参考にしたので内容をまとめます。

https://aws.amazon.com/jp/shield/ddos-attack-protection/

https://www.school.ctc-g.co.jp/course/AW08.html

# 背景
本記事はAWSソリューションアーキテクトプロフェッショナルに合格するために、[Udemyの模擬試験](https://www.udemy.com/course/aws-53225)を解いて分からなかった部分を勉強してまとめるものです。

試験対策用のため、分からない知識を補足したり試験で問われなさそうなところを省略したりしながらまとめています。
なるべくわかりやすい記載を心がけますが、最終目的は自己学習用であるということをご容赦ください。

# DDoS攻撃とは

複数のソースを使用してウェブサイトやアプリケーションに負荷をかけ、正当なエンドユーザーのアクセスを妨害する攻撃。
Distributed Denial of S

元記事を表示

SQLインジェクションを防ぐ 〜8

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第8章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/i

元記事を表示

SQLインジェクションを防ぐ 〜7

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第7章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/i

元記事を表示

SQLインジェクションを防ぐ 〜6

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第6章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/i

元記事を表示

SQLインジェクションを防ぐ 〜5

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第5章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/i

元記事を表示

SQLインジェクションを防ぐ 〜4

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第4章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/

元記事を表示

SQLインジェクションを防ぐ 〜3

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第3章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolageart/

元記事を表示

HTTP request smugglingってなんぞ

BurpのScan実行結果に「HTTP request smuggling」なる脆弱性が存在した。初耳なので調べるナッシー!

## 概要

PHPの一部バージョンでApacheとの接続にApache2hanlerを用いている場合にに存在する脆弱性

リクエストヘッダに特定のヘッダを付与すると、レスポンスボディにリクエストボディの文字列が付与されてしまう脆弱性
リクエストボディにscriptタグを記載することで標的に任意のjsを実行させることができる。

脆弱性番号: CVE-2018-17082

## 詳細

リクエストヘッダに「Transfer-Encoding: chunked」と「Content-Length:${任意の数字}」を付与すると、レスポンスボディにリクエストボディの内容が反射されてしまう。

このリクエストボディにscriptタグを用いてjavascriptを記載することで、任意のjavascriptを標的に実行させることができる。

### Transfer-Encoding: chunkedとは?

HTTPでデータのサイズがわからない場合にチャンクとして分割

元記事を表示

SQLインジェクションを防ぐ 〜2


#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第2章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiita.com/bricolageart/items/ffe99886bdcdbf32658e)
4. [コードをスキャンしてSQLインジェクションの脆弱性を探す](https://qiita.com/bricolage

元記事を表示

[Hacking:美しき参謀] フォーマット文字列攻撃について

#はじめに
これはJohn Erickson「Hacking:美しき参謀 脆弱性攻撃の理論と実際 第2版」の「0x350 プログラムの脆弱性攻撃」の内、特に「フォーマット文字列攻撃」について自分なりにまとめたものです。コードはすべて書籍が提供している仮想環境上で動かしています。

#フォーマット文字列攻撃とは
下のようにユーザーからの入力をバッファにコピーし、そのバッファを直接printf()の引数にするようなコードがあるときに有効。任意のメモリアドレスに書き込みを行い、想定外の処理を実行させることができる。

“`c
char buffer[1024];
strcpy(buffer,argv[1]);
printf(buffer);
“`

#前提知識
###1. printf()の変換指定子
・%xは対応するメモリアドレスから4byteを読み出し、フィールド幅が指定されていたらその幅で表示する。フィールド幅は「**最小フィールド幅**」であることに注意。例えばフィールド幅が%4xのように指定されていても、読みだされたのが8桁だった場合は8桁で表示される。
・%nは「**それまで

元記事を表示

Snyk CodeでTrojan Source(トロイのソース)攻撃を防ぐ

本記事は、2021年11月17日に公開したブログ[How to prevent Trojan Source attacks with Snyk Code](https://snyk.io/blog/how-to-prevent-trojan-source-attacks-with-snyk-code/)を日本語化した内容です。

![logo-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/dee60280-b79c-db40-74c6-a2e58d17b467.png)

#はじめに
今月初め、ケンブリッジ大学の研究者グループは、ソースコードに現れる可能性のある新しいタイプの潜在的な脆弱性に関する[学術論文](https://www.trojansource.codes/trojan-source.pdf)を発表し、それに関する[ウェブサイト](https://www.trojansource.codes/)を公開しました。彼らはこれを「Trojan

元記事を表示

SQLインジェクションを防ぐ 〜序章

https://snyk.io/blog/sql-injection-cheat-sheet/

ソフトウェアというよりアプリ、SQLよりno SQLという言葉のほうがピンとくる人が増えてきているかもしれません。はじめてno SQLついて知ったときには、SQLじゃないのにDBなんだ?!、どういうこと?とびっくりしましたが、ネーミングもさることながら、データのマネージメント、データサイエンティストについて、高校の時からしっていれば(どんだけ前だよ!)、、、そうすれば、数学もっと頑張ったのに。。。と、後悔、先に立たずです。

ちなみにアプリは英語ではアップ(英語ではapp)というのが一般的。(アはエにちかいアですwww)
SQLは(エス・キュー・エル)は、英語ではシークェル。響きがけっこう違いますよね。
海外のエンジニアと話していて、
SQLのこと話してるのに、シーコールとか、Cカールとか聞こえるし、なんなん?と、とまどった経験があるある!の方も多いのではないでしょうか。

さて、前々回に[java sciptのnode.jpのコードインジェクション](https://qiita.co

元記事を表示

SQLインジェクションを防ぐ 〜1

#####SQLコードインジェクション防止の8のベストプラクティス
https://snyk.io/blog/sql-injection-cheat-sheet/

######第一章です。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)から、早速1つ目、クライアントサイドの入力バリデーションに依存しないについてご紹介します。

[序章](https://qiita.com/bricolageart/items/f87dd0d98f1e1b5c4666)
1. [クライアントサイドの入力バリデーションに依存しない](https://qiita.com/bricolageart/items/b442165360ef24d093da)
2. [制限された権限を持つデータベースユーザーを使用する](https://qiita.com/bricolageart/items/a857fa1c058a4527f155)
3. [プリペアドステートメントとクエリパラメータ化を使用する](https://qiit

元記事を表示

【★守護神に俺はなる★】フィッシング詐欺を様々なWebサイトを用いて見破る方法

#初めに

どうも、クソ雑魚のなんちゃてエンジニアです。

今回の記事は前回のフィッシングサイト建設にあやかり、防御者目線でフィッシングを見破る方法を記載していこうと思う。
以下に前回の攻撃者目線でのフィッシングサイト建設を紹介した記事を載せる。

https://qiita.com/schectman-hell/items/cc165faef707aec1a934

「こりゃ正規なお知らせかどうか、ちょっとわからんな…」
こういった状況の場合の判断方法として活用してほしい。

#目次
+ 具体的な調査対象
+ 調査をするための一部Webサイト紹介
+ 実際の調査
+ Google透過性レポート
+ aguse
+ urlscan
+ virustotal
+ 総括
+ まとめ

#具体的な調査対象
前回紹介した記事の中に最近のフィッシングの手口を紹介した章を用意したが、この中で紹介した「SMS」や「メール」を用いたフィッシングを今回も題材にしていこうと思う。
このフィッシング詐欺の具体的な方法は大きく分けて二つある。

+ メールやSMS

元記事を表示

NVDのAPIを叩いて脆弱性情報を自動収集してみる

# 背景

 私の勤めている会社では脆弱性の情報収集はメーリングリストベースのサービスを利用しているが、提供される形がテキストベースであり、自動化には即していない形となっていて効率化が難しい状態。脆弱性情報の収集自動化のための試みとして、NVDのAPIを叩いてCVE情報を自動取得する。
(もうやられている方いるのは知っていますが勉強のため自分でやる)

# NVDのAPI

 NVDのデータを自動取得するための手段は[NVD Data Feeds](https://nvd.nist.gov/vuln/data-feeds)に記載されている。その中でAPIの情報は[こちら](https://nvd.nist.gov/vuln/data-feeds#APIS)にある。APIは主にCVEとCPEの2つが用意されている。共通プラットフォーム一覧CPE(Common Platform Enumeration)は脆弱性をさすものではないので、今回はCVEのAPIを利用する。
# CVEのAPI

 CVEのAPIはhttps://nvd.nist.gov/developers/vulnerabil

元記事を表示

【悪用ダメ】簡単★フィッシングサイト構築

#初めに

どうも、クソ雑魚のなんちゃてエンジニアです。

今回はコロナ禍になり急激に増えていたフィッシング詐欺に着目し、
実際にフィッシングサイトを攻撃者がどのように立てるのかを自分で検証した記事を投稿してみようと思う。

防御側からするとフィッシングサイトのテイクダウンやサービス利用者への注意喚起など、相当面倒な対応を強いられる中で攻撃者はどのようにフィッシングサイトを建設するのであろうか?

乞うご期待!

___※悪用するのはやめてください。あくまで社会への貢献のためにこれらの技術を使用してください。法に触れるので。___

#目次
+ 最近のフィッシング手口
+ 使用するツール紹介
+ setoolkit
+ evilginx2
+ 環境構築
+ フィッシングサイト実践
+ フィッシングサイト簡易構築編
+ 2要素認証突破編
+ まとめ

#最近のフィッシング手口
まずこのような詐欺は司法等の観点で特殊詐欺といわれるものに当たる。よく聞く「オレオレ詐欺」だとかその辺だ。
その中の手口には「電話」、「SMS」、「メール」等連絡手段を最初に用い

元記事を表示

DLP(Data Loss Prevention)対策 Azure Information Protection とは

久しぶりの記事。Azure Information Protectionについての情報があまり見当たらず自分自身なりに検証やスクショをとってみた。DLPという単語が使われることもあるが、ファイルが盗難や誤って添付してメール送信されても「しかるべき権限を持った人」でないとファイルにアクセスできないようにしたりファイル操作のログを取得したりするツールだと思ってよい。例えば社内にファイル閲覧を制限しておきAzure Active Directoryの認証なくしてファイルの中身が見れないようにすることができる。ラベル付けでファイルに対して暗号化がかかり暗号化を(自動)解除できる権限がなければ何もできなくなる。

#必要ライセンスとソフト
Azure Information Protection P1以上(Enterprise Mobility & Security E3などAzure Information Protectionが含まれているライセンスでも使用可)。Azure Information ProtectionクライアントをPCにインストールする必要がありグループポリシーなどでプッシ

元記事を表示

コーディング、どうする?

##「ありがとう」「すみません」の無限ループ列車とコーディング

数ヶ月前、IT系の企業に社会復帰し、早3ヶ月。PMまわりの仕事に関わらせていただいている。学ぶことが多すぎて、毎日、チーンと意気消沈で終わることが多い。救いは、出会いと学びがあること。

人との関わりが多い仕事のため、「thanks」「sorry」 「ありがとうございます」「すみませんでした」、の4フレーズはひっきりなしに使う。その中で、「sorry」と「すみません」については、超アジャイルの高速化が止まらない(悲)。ちまたではAgile is Deadアジャイルは死んだらしいということで、仕事がシンプルに「ありがとう」を中心に回せるようにLean化したいところである。

さて、自分の連日の意気消沈の理由は多々あるのだが、技術知識アップのために、今更ながらコーディングの101(基礎)から、学ぼうかとと少し考え初めている。

Linuxコマンドをかろうじて知っていたことが、まさかここで役立つなんて、、、という小さいガッツポーズの出来事があった。ちなみに大きな声では言えないが、かろうじて知っていたコマンドは`cd`, `ls

元記事を表示

OTHERカテゴリの最新記事