ハッカーはprintfで情報が漏れる仕組みと安全な検証方法をpwntoolsで学ぶ。Simple Format-String入門
C言語のprintfの仕組みを利用してプログラム内部の情報が外部に漏れる「フォーマット文字列(Format-String)脆弱性」と、その安全な確認方法を分かりやすく解説します。
Simple Format-String(出力リ ...ハッカーの最強のツールのひとつである「pwntools」入門
pwntoolsは、CTF(Capture The Flag)で使われるPython製の「道具箱」です。ハッカーにとって、最強のツールのひとつです。
ただし強力なツールなので、必ず自分のローカルや許可された環境で学び、他人のサ ...
ハッカーは、レジスタを読めると強くなる。GDBでCPUの中身をのぞく方法
コンピュータの中にある「CPU(中央処理装置)」は、人間で言えば頭脳のようなものですね。このCPUの中には「レジスタ」と呼ばれる、小さなメモ帳のような場所があります。このメモ帳には、今、どの命令を実行中か、どこにデータがあるかなど、プログラ ...
ハッカーは、GDBをマスターするとバイナリ解析がデバッグ機能により楽しくなります(まず、さわってみよう編)
GDB(ジーディービー)は、C言語などのプログラムを「一歩ずつ」動かしたり、プログラムの中の変数の中身やメモリの状態をチェックできる道具です。
GDBとはGDB(GNU Debugger)は、Cやアセンブリで書かれたプログ
GDBとはGDB(GNU Debugger)は、Cやアセンブリで書かれたプログ
ハッカーが使うLinuxの裏側 forkとexecveでわかるプロセスのしくみ
「プロセス」というのは、コンピューターで何かのプログラムが動いている状態のことです。たとえば、電卓アプリを開いたとき、その裏では電卓のプログラムが「プロセス」として動いています。
※イメージです。プロセスってとはパソコンの
※イメージです。プロセスってとはパソコンの
ハッカーの裏ワザ Return-Oriented Programming(ROP)とは 防御をすり抜ける仕組みと対策
ROP(リターン・オリエンテッド・プログラミング)は、ちょっと頭のいいハッカーが使う裏ワザ的な攻撃方法なんです。ふつう、パソコンは「悪いプログラム」が動かないように守られています。でも、ROPを使うと「正しいプログラムの中の一部だけ」をつな ...
ハッカーが見るメモリの世界 スタック・ヒープ・text・data・bssを解説
パソコンやスマホの中で動いているプログラム。その中で「メモリ」はとても大事な役割をしています。そこで、ハッカーやプログラマーがよく見る「メモリの地図(メモリマップ)」について説明します 。
※イメージです。
なぜメ
※イメージです。
なぜメ
ハッカーの基礎知識 Linuxの実行ファイル「ELF」の中身を見てみよう
コンピューターがプログラムを読み込んで実行するために、どこに何が書かれているかを教えるためのルールブックです。
※イメージです。
ELF(エルフ)とは、LinuxなどのUnix系OSで使われ
ハッカーが利用する、スタックカナリ&ASLRリークとは セキュリティ機能をすり抜ける脆弱性をやさしく解説
現代のOSやプログラムは、攻撃から自分を守るために「カナリ」や「ランダム化」といった仕組みを使っています。でも、もしその仕組みの中身がバレてしまったらどうなるでしょうか。
スタックカナリとASLRスタックカナリとはスタックカナリ(S ...
スタックカナリとASLRスタックカナリとはスタックカナリ(S ...
ハッカーが利用するメモリリークとは?見えない穴がシステムを壊す仕組みとその悪用
パソコンや、スマホの中で動いているプログラムは、「メモリ」と呼ばれる一時的な作業スペースを使っています。たとえばゲームのデータ、Webページの表示情報などが一時的にメモリに保存されます。でも、そのメモリを使い終わったあとに片づけずに放置して ...