11.05.2014 Views

OWASP テスティングガイド

OWASP テスティングガイド

OWASP テスティングガイド

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>OWASP</strong> Testing Guide v3.0<br />

以 下 は C における 脆 弱 なケードの 簡 単 な 例 です:<br />

void overflow (char *str) {<br />

char buffer[10];<br />

strcpy(buffer, str); // Dangerous!<br />

}<br />

int main () {<br />

char *str = "This is a string that is larger than the buffer of 10";<br />

overflow(str);<br />

}<br />

このケードが 実 行 されると、スギミヱテーサュヱフェラトとケアゾヱプが 引 き 起 こされます。なぜなら、strcpy が 10 要 素 だけの<br />

配郤 列 に 53 文 字 ケピーしようとし、 隣 接 するミムヨルクーサュヱを 上 書 きするからです。この 例 は 非 常 にサヱプラですが、 実 際<br />

にウェブプーシのアプヨクーサュヱにおいてヤーゴ 入 力 の 長 さが 適遚 切 にタェッキされずこのような 攻 撃 が 可 能 になる 場 所 が<br />

あることがあります。<br />

ブラチクボチクステステ<br />

脆 弱 性 のある 可 能 性 のある 場 所 を 探 すためにアプヨクーサュヱに 対 してどのように 長 さの 範 囲 を 送 るかについては<br />

Buffer_Overflow_Testing のスキサュヱを 参 照 してください。DoS に 関 連連 しているため、エーバーフルーが 起 こったと 思 わわれる<br />

リシホヱシを 受 け 取 った 場 合 や、リシホヱシがない 場 合 には、さらにコーバにヨキウシトを 送 り、 反 応 があるかどうかを 見 てみ<br />

ます。<br />

ギレーボチクステステ<br />

このテシトについての 詳 細 は、 Buffer_Overflow_Testing スキサュヱを 参 照 してください。<br />

4.9.4 ヤーザが 指 定 したオブジェクテの 割 り 当 て (<strong>OWASP</strong>-DS-004)<br />

概 要<br />

このテシトでは、 非 常 に 多 くのエブザェキトを 割 り 当 てることによってコーバのヨセーシを 使 い 切 ることができるかどうかをタェ<br />

ッキします。<br />

この 問 題 の 説 明<br />

ヤーゴが 直 接 あるいは 間 接 的 にアプヨクーサュヱコーバに 対 していくつエブザェキトを 作 れるかの 値 を 指 定 することができ、<br />

コーバがその 値 についての 上 限 を 厳 密 に 設 定 していない 場 合 、その 環 境 に 対 してミムヨ 不 足 にさせることができます。コー<br />

バは 指 定 された 必 要 な 数 のエブザェキトを 割 り 当 てようとしますが、それが 非 常 に 大 量 である 場 合 、 利 用 可 能 なミムヨを 全 て<br />

使 用 し、パフェーボヱシを 悪 化 させ、コーバに 深 刻 な 問 題 をもたらすかもしれません。<br />

以 下 は、Java で 書 かれた 脆 弱 なケードの 簡 単 な 例 です:<br />

String TotalObjects = request.getParameter(“numberofobjects”);<br />

int NumOfObjects = Integer.parseInt(TotalObjects);<br />

299

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!