諠蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ 莉、蜥鯉シ募ケエ蠎ヲ譏・譛溘宣℃蜴サ蝠剰ァ」隱ャ蜊亥セ鯉シ貞撫シ代
2023蟷エ4譛16譌・螳滓命縺ョ諠蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ隗」遲秘溷ア
隗」遲斐∪縺ィ繧
| 險ュ蝠擾シ | router.ini縺ェ縺ゥ縺ョURL險ュ螳壽ュ蝣ア繧貞盾辣ァ縺吶k |
| 險ュ蝠擾シ | |
| シ茨シ托シ | a : 繧、 b : 繧ヲ |
| シ茨シ抵シ | 2-3 |
| シ茨シ難シ | 繧「繝ウ繧ア繝シ繝亥・蜉1縺ォ蟇セ縺励※繧「繝ウ繧ア繝シ繝育「コ隱咲判髱「縺ョ蠢懃ュ皮オ先棡繧ょ愛螳壼ッセ雎。縺ォ險ュ螳壹☆繧 |
| シ茨シ費シ | 繝医ヴ繝繧ッ縺ョ讀懃エ「邨先棡縺1莉カ莉・荳翫→縺ェ繧区枚蟄怜 |
| 險ュ蝠擾シ | |
| シ茨シ托シ | 繧ヲ縲√お |
| シ茨シ抵シ | A : 繝代せ繝ッ繝シ繝峨r騾」邯5蝗樣俣驕輔∴繧九→縲∫判髱「縺後Ο繝繧ッ縺輔l繧九◆繧 C : シ代▽縺ョ繧ュ繝」繝ウ繝壹シ繝ウ縺ォ蟇セ縺怜酔縺倅シ壼藤縺ッ荳蠎ヲ縺励°逕ウ霎シ縺ァ縺阪↑縺縺溘a |
| 險ュ蝠擾シ | |
| シ茨シ托シ | javascript縺九i縺ョ繧「繧ッ繧サ繧ケ縺檎ヲ∵ュ「縺輔l繧 |
| シ茨シ抵シ | 蜈・蜉帙&繧後◆諠蝣ア繧男avascript縺ェ縺ゥ繧堤畑縺謾サ謦閠縺ョ繧オ繝シ繝舌∈騾∽ソ。縺吶k |
| 險ュ蝠擾シ | |
| シ茨シ托シ | 繝ェ繧ッ繧ィ繧ケ繝医ヱ繝ゥ繝。繝シ繧ソ縺ォ蜷ォ縺セ繧後kgroup_code繧呈隼縺悶s縺吶k |
| シ茨シ抵シ | e : JSESSIONID f : group_code |
| 險ュ蝠擾シ | |
| シ茨シ托シ | 雉逕」邂。逅繧キ繧ケ繝繝繧貞茜逕ィ縺苓ф蠑ア諤ァ險コ譁ュ縺ォ蠢隕√↑諠蝣ア繧剃ク蜈邂。逅縺吶k |
| シ茨シ抵シ | QA繝ェ繧ケ繝医dwiki縺ェ縺ゥ繧呈紛蛯吶@縲∝撫縺蜷医o縺帙r陦後≧蜑阪↓縺薙l繧峨r蜿らァ縺吶k驕狗畑縺ィ縺吶k |
莉悶ョ隗」遲斐サ隗」隱ャ
- 1. 諠蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ蝠擾シ代Web繧オ繧、繝医ョ繧サ繧ュ繝・繝ェ繝繧」
- 1.1. 險ュ蝠擾シ代陦ィ2荳ュ縺ョ荳狗キ1縺ォ縺、縺縺ヲ,蛻・縺ョ譁ケ豕輔r,30蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.2. 險ュ蝠擾シ偵[繝輔ぉ繝シ繧コ3: Z縺輔s縺ィB遉セ縺ァ縺ョ險コ譁ュ縺ョ螳滓命縺ィ邨先棡豈碑シゾ縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.2.1. シ茨シ托シ芽。ィ3荳ュ蜿翫ウ譛ャ譁荳ュ縺ョ a,b縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,隗」遲皮セ、縺ョ荳ュ縺九i驕ク縺ウ, 險伜捷縺ァ遲斐∴繧医
- 1.2.2. シ茨シ抵シ画悽譁荳ュ縺ョc縺ォ蜈・繧後k驕ゥ蛻縺ェ讖溯ス繧,蝗ウ1荳ュ縺ョ(1-1)ス(8-1)縺九i驕ク縺ウ遲斐∴繧医
- 1.2.3. シ茨シ難シ画悽譁荳ュ縺ョ荳狗キ2縺ォ縺、縺縺ヲ,縺ゥ縺ョ繧医≧縺ェ險ュ螳壹′蠢隕√°縲りィュ螳壹ョ蜀螳ケ繧偵∝峙2荳ュ縺ョ逕サ髱「蜷阪r逕ィ縺縺ヲ60蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.2.4. シ茨シ費シ画悽譁荳ュ縺ョ荳狗キ3縺ォ縺、縺縺ヲ, keyword縺ョ蛻晄悄蛟、繧偵←縺ョ繧医≧縺ェ蛟、縺ォ險ュ螳壹☆繧句ソ隕√′縺ゅk縺九ょ晄悄蛟、縺梧コ縺溘☆縺ケ縺肴擅莉カ繧, 40蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
- 1.3. 險ュ蝠擾シ薙[繝輔ぉ繝シ繧コ 5:險コ譁ュ謇矩譯医↓蠕薙▲縺溯ィコ譁ュ縺ョ螳滓命]縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.3.1. シ茨シ托シ画悽譁荳ュ縺ョ荳狗キ4縺ォ縺、縺縺ヲ, URL縺檎匳骭イ縺輔l縺ェ縺九▲縺溽判髱「蜷阪r, 隗」遲皮セ、縺ョ荳ュ縺九i蜈ィ縺ヲ驕ク縺ウ, 險伜捷縺ァ遲斐∴繧医
- 1.3.2. シ茨シ抵シ画悽譁荳ュ縺ョ荳狗キ5縺ォ縺、縺縺ヲ, 隧イ蠖薙☆繧狗判髱「驕キ遘サ縺ィ繧ィ繝ゥ繝シ縺ォ縺ェ縺」縺ヲ縺励∪縺逅逕ア繧2邨縺ソ謖吶£, 逕サ髱「驕キ遘サ縺ッ蝗ウ 4 荳ュ縺ョ (A)~ (E) 縺九i驕ク縺ウ, 逅逕ア縺ッ 40蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.4. 險ュ蝠擾シ斐[XSS]縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.4.1. シ茨シ托シ画悽譁荳ュ縺ョd縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,30 蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.4.2. シ茨シ抵シ画悽譁荳ュ縺ョ荳狗キ6縺ォ縺、縺縺ヲ, 謾サ謦縺ョ謇句哨繧, 40蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.5. 險ュ蝠擾シ輔[繧「繧ッ繧サ繧ケ蛻カ蠕。縺ョ蝗樣∩] 縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.5.1. シ茨シ托シ画悽譁荳ュ縺ョ荳狗キ7縺ォ縺、縺縺ヲ, 繝ェ繧ッ繧ィ繧ケ繝医ョ蜀螳ケ繧, 30 蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
- 1.5.2. シ茨シ抵シ画悽譁荳ュ縺ョe,f縺ォ蜈・繧後k驕ゥ蛻縺ェ繝代Λ繝。繝シ繧ソ蜷阪r,蝗ウ5荳ュ縺九i驕ク縺ウ縲√◎繧後◇繧15蟄嶺サ・蜀縺ァ遲斐∴繧医
- 1.6. 險ュ蝠擾シ悶[繝輔ぉ繝シ繧コ 6: A遉セ繧ー繝ォ繝シ繝励ョ險コ譁ュ謇矩縺ョ蛻カ螳咯縺ォ縺、縺縺ヲ遲斐∴繧医
- 1.6.1. シ茨シ托シ芽ィコ譁ュ髢句ァ九∪縺ァ縺ォ隕√☆繧区凾髢薙ョ隱イ鬘後↓縺、縺縺ヲ, A遉セ縺ァ蜿悶j蜈・繧後※縺繧狗ョ。逅遲悶r蜿り縺ォ縺励◆蟇セ遲悶r, 40蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
- 1.6.2. シ茨シ抵シ隠遉セ縺ョ繧オ繝昴シ繝郁イサ逕ィ縺ョ隱イ鬘後↓縺、縺縺ヲ, B遉セ縺ォ蟇セ縺励※蜷後§蝠丞粋縺帙r陦後o縺,蝠丞粋縺帑サカ謨ー繧貞炎貂帙☆繧九◆繧√↓, A遉セ繧ー繝ォ繝シ繝励〒縺ッ縺ゥ縺ョ繧医≧縺ェ蟇セ遲悶r螳滓命縺吶∋縺阪°
- 2. 縺昴ョ莉悶ョ隗」隱ャ
諠蝣ア蜃ヲ逅螳牙ィ遒コ菫晄髪謠エ螢ォ
蝠擾シ代Web繧オ繧、繝医ョ繧サ繧ュ繝・繝ェ繝繧」
險ュ蝠擾シ縲陦ィ2荳ュ縺ョ荳狗キ1縺ォ縺、縺縺ヲ,蛻・縺ョ譁ケ豕輔r,30蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
router.ini縺ェ縺ゥ縺ョURL險ュ螳壽ュ蝣ア繧貞盾辣ァ縺吶k
隗」隱ャ
萓九∴縺ー縲√し繧、繝亥縺ォ繝ェ繝ウ繧ッ縺悟シオ繧峨l縺ヲ縺縺ェ縺繝壹シ繧ク縺梧シ上l繧句庄閭ス諤ァ縺後≠繧九◆繧√ゞRL縺ョ險ュ螳壹′邯イ鄒縺輔l縺ヲ縺繧玖ィュ螳壹ヵ繧。繧、繝ォ縺ェ縺ゥ繧貞盾辣ァ縺礼カイ鄒諤ァ繧呈球菫昴@縺セ縺吶
蜈キ菴鍋噪驕弱℃繧区ー励′縺励↑縺縺ァ繧ゅ↑縺縺ァ縺吶′縲ゅ
險ュ蝠擾シ縲[繝輔ぉ繝シ繧コ3: Z縺輔s縺ィB遉セ縺ァ縺ョ險コ譁ュ縺ョ螳滓命縺ィ邨先棡豈碑シゾ縺ォ縺、縺縺ヲ遲斐∴繧医
シ茨シ托シ芽。ィ3荳ュ蜿翫ウ譛ャ譁荳ュ縺ョ a,b縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,隗」遲皮セ、縺ョ荳ュ縺九i驕ク縺ウ, 險伜捷縺ァ遲斐∴繧医
隗」遲
| a | 繧、 |
| b | 繧ヲ |
隗」隱ャ
豁」縺励>繧ッ繧ィ繝ェ譁蟄怜励↓蟇セ縺励※縲悟ソ縺夂悄縺ォ縺ェ繧区擅莉カ縲阪→縲悟ソ縺壼⊃縺ォ縺ェ繧区擅莉カ縲阪r縺昴l縺槭l莉伜刈豈碑シ縺励※讀懃エ「邨先棡縺碁&縺医ー縲莉伜刈縺励◆譁蟄怜励↓繧医j邨先棡縺檎焚縺ェ縺」縺縺ィ縺縺莠九↓縺ェ繧翫∪縺吶
縺薙l縺ォ繧医j霑ス蜉縺励※騾∽ソ。縺励◆繝代Λ繝。繝シ繧ソ驛ィ蛻繧よ擅莉カ縺ォ蛻ゥ逕ィ縺輔l縺ヲ縺繧九%縺ィ縺後o縺九j縺セ縺吶
シ郁ソス險假シ
繧ウ繝。繝ウ繝磯ゅ″縺阪■繧薙→遒コ隱阪>縺溘@縺セ縺励◆縲
萓九∴縺ー荳玖ィ倥ョ繧医≧縺ォ繧ッ繧ィ繝ェ縺御ス懊i繧後※縺縺溷エ蜷
sql = "SELECT * FROM table where keyword = '?' "
keyword縺ォmanual縺ィ縺縺譁蟄怜励r荳弱∴繧九→縺薙≧縺ァ縺吶
sql = "SELECT * FROM table where keyword = 'manual' "
繧、縺ョ蝣エ蜷医ッ縺薙ョ繧医≧縺ォ縺ェ繧翫∪縺吶ゅ%繧後ッ蠢縺夂悄縺ォ縺ェ繧翫∪縺吶
sql = "SELECT * FROM table where keyword = 'manual ' and 'a' ='a' "
繧ェ縺ョ蝣エ蜷医ッ縺薙s縺ェ諢溘§縺ァ縺吶Leyword縺後稽anual and 1 = 1縲阪↓縺ェ縺」縺ヲ縺繧九b縺ョ繧呈、懃エ「縺励∪縺吶′繝偵ャ繝医@縺セ縺帙s縲
sql = "SELECT * FROM table where keyword = 'manual and 1 = 1' "
シ茨シ抵シ画悽譁荳ュ縺ョc縺ォ蜈・繧後k驕ゥ蛻縺ェ讖溯ス繧,蝗ウ1荳ュ縺ョ(1-1)ス(8-1)縺九i驕ク縺ウ遲斐∴繧医
隗」遲
2-3
隗」隱ャ
縲後い繝ウ繧ア繝シ繝亥・蜉1縲咲判髱「縺ョ蜈・蜉帛、縺ォ蟇セ縺吶k繝ャ繧ケ繝昴Φ繧ケ縲後い繝ウ繧ア繝シ繝亥・蜉幢シ偵咲判髱「縺縺代〒縺ェ縺上√後い繝ウ繧ア繝シ繝育「コ隱阪咲判髱「縺ョ繝ャ繧ケ繝昴Φ繧ケ繧らョ。逅縺吶k蠢隕√′縺斐*縺縺セ縺吶
シ茨シ難シ画悽譁荳ュ縺ョ荳狗キ2縺ォ縺、縺縺ヲ,縺ゥ縺ョ繧医≧縺ェ險ュ螳壹′蠢隕√°縲りィュ螳壹ョ蜀螳ケ繧偵∝峙2荳ュ縺ョ逕サ髱「蜷阪r逕ィ縺縺ヲ60蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
繧「繝ウ繧ア繝シ繝亥・蜉1縺ォ蟇セ縺励※繧「繝ウ繧ア繝シ繝育「コ隱咲判髱「縺ョ蠢懃ュ皮オ先棡繧ょ愛螳壼ッセ雎。縺ォ險ュ螳壹☆繧
隗」隱ャ
シ茨シ抵シ峨〒隗」隱ャ縺励◆繧ゅョ縺ィ蜷後§
シ茨シ費シ画悽譁荳ュ縺ョ荳狗キ3縺ォ縺、縺縺ヲ, keyword縺ョ蛻晄悄蛟、繧偵←縺ョ繧医≧縺ェ蛟、縺ォ險ュ螳壹☆繧句ソ隕√′縺ゅk縺九ょ晄悄蛟、縺梧コ縺溘☆縺ケ縺肴擅莉カ繧, 40蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
繝医ヴ繝繧ッ縺ョ讀懃エ「邨先棡縺1莉カ莉・荳翫→縺ェ繧区枚蟄怜
隗」隱ャ
謾サ謦縺悟、ア謨励@繧ィ繝ゥ繝シ縺ィ縺ェ縺」縺溷エ蜷医ッ讀懃エ「邨先棡縺0莉カ縺ォ縺ェ繧九ョ縺ァ縲∫オ先棡縺0莉カ縺ォ縺ェ繧九h縺縺ェ讀懃エ「譚。莉カ縺ァ縺ッ謾サ謦縺悟、ア謨励@縺ヲ縺繧九ョ縺九←縺縺九′蛻、譁ュ縺後▽縺阪∪縺帙s縲
繧医▲縺ヲ邨先棡縺1莉カ莉・荳雁叙蠕励〒縺阪k譚。莉カ繧談eyword縺ィ縺励※險ュ螳壹☆繧句ソ隕√′縺ゅj縺セ縺吶
險ュ蝠擾シ縲[繝輔ぉ繝シ繧コ 5:險コ譁ュ謇矩譯医↓蠕薙▲縺溯ィコ譁ュ縺ョ螳滓命]縺ォ縺、縺縺ヲ遲斐∴繧医
シ茨シ托シ画悽譁荳ュ縺ョ荳狗キ4縺ォ縺、縺縺ヲ, URL縺檎匳骭イ縺輔l縺ェ縺九▲縺溽判髱「蜷阪r, 隗」遲皮セ、縺ョ荳ュ縺九i蜈ィ縺ヲ驕ク縺ウ, 險伜捷縺ァ遲斐∴繧医
隗」遲
繧ヲ縲√お
隗」隱ャ
讀懃エ「邨先棡シ嗚avascript縺ァ蜍慕噪縺ォ逕滓舌@縺ヲ縺繧
譁ー隕丈シ壼藤諠蝣ア蜈・蜉幢シ壹Γ繝シ繝ォ繧「繝峨Ξ繧ケ險倩シ峨ョURL縺ョ繧ッ繝ェ繝繧ッ縺悟ソ隕√→縺ェ繧翫∫判髱「驕キ遘サ縺励※縺縺ェ縺
繧ュ繝」繝ウ繝壹シ繝ウ逕ウ霎シ竍偵い繧ォ繧ヲ繝ウ繝医ョ諡。蠑オ讖溯ス險ュ螳壹↓縺ヲ隍謨ー繧「繧ォ繧ヲ繝ウ繝郁ィュ螳壹〒縺阪k縺薙→縺瑚ァ」隱ャ縺輔l縺ヲ縺繧九◆繧√∝ッセ雎。繧ュ繝」繝ウ繝壹シ繝ウ縺ッ縺吶∋縺ヲ陦ィ遉コ蜿ッ閭ス
シ茨シ抵シ画悽譁荳ュ縺ョ荳狗キ5縺ォ縺、縺縺ヲ, 隧イ蠖薙☆繧狗判髱「驕キ遘サ縺ィ繧ィ繝ゥ繝シ縺ォ縺ェ縺」縺ヲ縺励∪縺逅逕ア繧2邨縺ソ謖吶£, 逕サ髱「驕キ遘サ縺ッ蝗ウ 4 荳ュ縺ョ (A)~ (E) 縺九i驕ク縺ウ, 逅逕ア縺ッ 40蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
| A | 繝代せ繝ッ繝シ繝峨r騾」邯5蝗樣俣驕輔∴繧九→縲∫判髱「縺後Ο繝繧ッ縺輔l繧九◆繧 |
| C | シ代▽縺ョ繧ュ繝」繝ウ繝壹シ繝ウ縺ォ蟇セ縺怜酔縺倅シ壼藤縺ッ荳蠎ヲ縺励°逕ウ霎シ縺ァ縺阪↑縺縺溘a |
隗」隱ャ
蝗ウシ斐ョ豕ィ險伜盾辣ァ
險ュ蝠擾シ縲[XSS]縺ォ縺、縺縺ヲ遲斐∴繧医
シ茨シ托シ画悽譁荳ュ縺ョd縺ォ蜈・繧後k驕ゥ蛻縺ェ蟄怜唱繧,30 蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
javascript縺九i縺ョ繧「繧ッ繧サ繧ケ縺檎ヲ∵ュ「縺輔l繧
隗」隱ャ
HttpOnly螻樊ァ縺ョ莉墓ァ
シ茨シ抵シ画悽譁荳ュ縺ョ荳狗キ6縺ォ縺、縺縺ヲ, 謾サ謦縺ョ謇句哨繧, 40蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
蜈・蜉帙&繧後◆諠蝣ア繧男avascript縺ェ縺ゥ繧堤畑縺謾サ謦閠縺ョ繧オ繝シ繝舌∈騾∽ソ。縺吶k
隗」隱ャ
繧ッ繝ュ繧ケ繧オ繧、繝医せ繧ッ繝ェ繝励ユ繧」繝ウ繧ー縺ョ謾サ謦謇区ウ
險ュ蝠擾シ縲[繧「繧ッ繧サ繧ケ蛻カ蠕。縺ョ蝗樣∩] 縺ォ縺、縺縺ヲ遲斐∴繧医
シ茨シ托シ画悽譁荳ュ縺ョ荳狗キ7縺ォ縺、縺縺ヲ, 繝ェ繧ッ繧ィ繧ケ繝医ョ蜀螳ケ繧, 30 蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
繝ェ繧ッ繧ィ繧ケ繝医ヱ繝ゥ繝。繝シ繧ソ縺ォ蜷ォ縺セ繧後kgroup_code繧呈隼縺悶s縺吶k
隗」隱ャ
譛ャ譚・陦ィ遉コ縺輔l縺ェ縺縺ッ縺壹ョ繧ュ繝」繝ウ繝壹シ繝ウ縺瑚。ィ遉コ縺輔l繧九%縺ィ縺瑚ェイ鬘後〒縺ゅk縺ィ險倩シ峨′縺ゅj縺セ縺吶
繧ュ繝」繝ウ繝壹シ繝ウ縺ョ陦ィ遉コ縺ォ縺ッ繝ェ繧ッ繧ィ繧ケ繝医ヱ繝ゥ繝。繝シ繧ソ縺ォ蜷ォ縺セ繧後kgroup_code縺ァ蛻カ蠕。縺励※縺繧九ョ縺ァ縲√%縺ョ繝代Λ繝。繝シ繧ソ縺梧隼縺悶s縺輔l繧九→諢丞峙縺励↑縺逕サ髱「縺瑚。ィ遉コ縺輔l縺ヲ縺励∪縺縺セ縺吶
シ茨シ抵シ画悽譁荳ュ縺ョe,f縺ォ蜈・繧後k驕ゥ蛻縺ェ繝代Λ繝。繝シ繧ソ蜷阪r,蝗ウ5荳ュ縺九i驕ク縺ウ縲√◎繧後◇繧15蟄嶺サ・蜀縺ァ遲斐∴繧医
隗」遲
| e | JSESSIONID |
| f | group_code |
隗」隱ャ
繝ュ繧ー繧、繝ウ譎ゅ↓逋コ陦後&繧後kJSESSIONID縺ォ邏蝉サ倥¥莨壼藤諠蝣ア縺ッ繧オ繝シ繝仙エ縺ァ邂。逅縺輔l縺ヲ縺翫j縺セ縺吶ョ縺ァ縲√Ο繧ー繧、繝ウ縺励※縺繧九Θ繝シ繧カ縺ォ邏蝉サ倥¥莨壼藤ID縺梧ュ」縺励¥蜿門セ励〒縺阪∪縺吶
縺昴%縺九i莨壼藤縺ョgroup_code繧貞叙蠕励@縺セ縺吶
險ュ蝠擾シ縲[繝輔ぉ繝シ繧コ 6: A遉セ繧ー繝ォ繝シ繝励ョ險コ譁ュ謇矩縺ョ蛻カ螳咯縺ォ縺、縺縺ヲ遲斐∴繧医
シ茨シ托シ芽ィコ譁ュ髢句ァ九∪縺ァ縺ォ隕√☆繧区凾髢薙ョ隱イ鬘後↓縺、縺縺ヲ, A遉セ縺ァ蜿悶j蜈・繧後※縺繧狗ョ。逅遲悶r蜿り縺ォ縺励◆蟇セ遲悶r, 40蟄嶺サ・蜀縺ァ蜈キ菴鍋噪縺ォ遲斐∴繧医
隗」遲
雉逕」邂。逅繧キ繧ケ繝繝繧貞茜逕ィ縺苓ф蠑ア諤ァ險コ譁ュ縺ォ蠢隕√↑諠蝣ア繧剃ク蜈邂。逅縺吶k
隗」隱ャ
諠蝣ア縺悟謨」縺輔l縺ヲ縺翫j縲髮繧√k縺ョ縺ォ譎る俣縺後°縺九▲縺溘→縺縺縺ョ縺瑚ェイ鬘後→縺励※險倩ソー縺輔l縺ヲ縺縺セ縺吶

A遉セ縺ッ雉逕」邂。逅繧キ繧ケ繝繝繧貞茜逕ィ縺励※邂。逅縺励※縺繧九h縺縺ェ縺ョ縺ァ縲√%繧後r蜿り縺ォ縺励∪縺吶
雉逕」邂。逅繧キ繧ケ繝繝縺ォ縺、縺縺ヲ縺ッ譛ャ譁蜀帝ュ4陦檎岼縺ォ險倩シ峨&繧後※縺縺セ縺吶
シ茨シ抵シ隠遉セ縺ョ繧オ繝昴シ繝郁イサ逕ィ縺ョ隱イ鬘後↓縺、縺縺ヲ, B遉セ縺ォ蟇セ縺励※蜷後§蝠丞粋縺帙r陦後o縺,蝠丞粋縺帑サカ謨ー繧貞炎貂帙☆繧九◆繧√↓, A遉セ繧ー繝ォ繝シ繝励〒縺ッ縺ゥ縺ョ繧医≧縺ェ蟇セ遲悶r螳滓命縺吶∋縺阪°
隗」遲
QA繝ェ繧ケ繝医dwiki縺ェ縺ゥ繧呈紛蛯吶@縲∝撫縺蜷医o縺帙r陦後≧蜑阪↓縺薙l繧峨r蜿らァ縺吶k驕狗畑縺ィ縺吶k
隗」隱ャ
隗」遲斐ッ隍謨ー縺ゅk縺ィ諤昴>縺セ縺吶ョ縺ァ縲∽ク萓九→縺励※險倩シ峨@縺ヲ縺翫j縺セ縺吶









蝠3(1)縺ッ蝗ウ4縺ョ豕ィ險4繧医j讀懃エ「邨先棡繧ょッセ雎。縺ァ縺ッ縺ェ縺縺ァ縺励g縺縺
繧ウ繝。繝ウ繝医≠繧翫′縺ィ縺縺斐*縺縺セ縺呻シ∫「コ縺九↓貍上l縺ヲ縺翫j縺セ縺吶ょ撫鬘梧枚荳ュ縺ァ繧りィ蜿翫&繧後※縺縺溘→縺薙m縺ァ縺吶ュ縲
霑ス險倥>縺溘@縺セ縺励◆縲
險ュ蝠4(2)縺ォ縺、縺縺ヲ縲∽ク玖ィ倥ョ繧医≧縺ェ萓九′縺ゅk縺ョ縺ァ縺吶′縲√ヵ繧」繝繧キ繝ウ繧ー繧オ繧、繝医∈縺ョ隱伜ー弱b豁」隗」縺ァ縺吶°シ
縲後ヵ繧」繝繧キ繝ウ繧ー繧オ繧、繝医∈隱伜ー弱☆繧区焔谿オ縺ッ繝。繝シ繝ォ縺縺代〒縺ッ縺ゅj縺セ縺帙s縲Gmail縺ョ繧医≧縺ェ繝。繝シ繝ォ繧オ繝シ繝薙せ縺ォ霑キ諠代Γ繝シ繝ォ繧定ェ蜍慕噪縺ォ隴伜挨縺玲険繧雁縺代k讖溯ス縺檎オ縺ソ霎シ縺セ繧後k縺薙→縺ァ縲√≠繧狗ィ句コヲ繝輔ぅ繝繧キ繝ウ繧ー繝。繝シ繝ォ繧帝ョ譁ュ縺ァ縺阪k繧医≧縺ォ縺ェ繧翫∪縺励◆縲ゅ◎繧後〒縲√ワ繝繧ォ繝シ繧峨ッ繧ィ繧オ縺ィ縺ェ繧九Γ繝シ繝ォ縺ョ莉」繧上j縺ォ縲∽シ∵・ュ繧繧オ繝シ繝薙せ縺ョWeb繧オ繧、繝医↓繧ッ繝ュ繧ケ繧オ繧、繝医せ繧ッ繝ェ繝励ユ繧」繝ウ繧ー謾サ謦繧定。後>縲∵が諢上ョ縺ゅkURL繧定ィ倩シ峨☆繧九%縺ィ縺ァ縲√Θ繝シ繧カ繧貞⊃繧オ繧、繝医↓隱伜ー弱@縲∝倶ココ諠蝣ア蜿翫ウ讖溷ッ繝繝シ繧ソ繧定ヲ∵アゅ☆繧区焔豕輔r菴ソ逕ィ縺励∪縺吶ゅ
繧ウ繝。繝ウ繝医≠繧翫′縺ィ縺縺斐*縺縺セ縺吶
WEB繧オ繧、繝井ク翫〒諢丞峙縺励↑縺蜍穂ス懊r逋コ逕溘&縺帙∝倶ココ諠蝣ア繧呈誓蜿悶☆繧九%縺ィ縺瑚ィ倩ソー縺ァ縺阪l縺ー蝠城。後↑縺縺ィ諤昴>縺セ縺吶
蝠3(1)縺ッ縲√後く繝」繝ウ繝壹シ繝ウ逕ウ霎シ縲阪b蜷ォ縺セ繧後k縺ョ縺ァ縺励g縺縺具シ
蝗ウシ代ョシ茨シ厄シ搾シ抵シ峨〒險コ譁ュ逕ィ繧「繧ォ繧ヲ繝ウ繝医ッ隍謨ー險ュ螳壹〒縺阪k縺ィ縺ゅj縺セ縺吶
遒コ縺九↓譖ク縺縺ヲ縺ゅj縺セ縺吶ュシ∬ヲ玖誠縺ィ縺励※縺翫j縺セ縺励◆縲ゅ≠繧翫′縺ィ縺縺斐*縺縺セ縺吶
隍謨ー繧「繧ォ繧ヲ繝ウ繝郁ィュ螳壹〒縺阪l縺ー縺吶∋縺ヲ縺ョ繧ュ繝」繝ウ繝壹シ繝ウ陦ィ遉コ縺後〒縺阪k蜑肴署縺ォ縺ェ繧翫∪縺吶ュ縲
逶ク螟峨o繧峨★菴輔ョ隧ヲ鬨薙°縺ィ縺縺諢溘§縺ァ縺吶′隨
險ュ蝠擾シ代↓縺、縺縺ヲ縺ァ縺吶′縲シ倥壹シ繧ク縺ォ縲瑚ィコ譁ュ蟇セ雎。URLシ後い繧ォ繧ヲ繝ウ繝医↑縺ゥシ瑚ィコ譁ュ縺ォ蠢隕√↑諠蝣ア繧狸遉セ縺ォ遒コ隱阪@縺溘ゅ阪→縺ゅk縺ョ縺ァ縲√後げ繝ォ繝シ繝怜推遉セ縺ォ遒コ隱阪☆繧九阪′遲斐∴縺ァ縺ッ縺ェ縺縺ァ縺励g縺縺具シ
險ュ蝠擾シ(1)縺ッa縺後が縲|縺後お縺ァ縺ッ縺ゅj縺セ縺帙s縺具シ
繧、縲√え縺ィ繧ゅ↓Sシアシャ繧ィ繝ゥ繝シ縺ィ縺励※讀懃エ「邨先棡縺鯉シ蝉サカ縺ォ縺ェ縺」縺ヲ縺励∪縺繧医≧縺ォ諤昴∴繧九ョ縺ァ縺吶′縲√√
閾ェ蛻繧ょ酔縺倥h縺縺ェ逍大撫繧呈戟縺。縺セ縺励◆縲
縺励°縺励∵悽譁縺ォ縲渓eyword縺ョ蛟、縺梧枚蟄怜励→縺励※謇ア繧上l繧倶サ墓ァ倥→縺ェ縺」縺ヲ縺翫j窶ヲ縲阪→縺縺險倩ソー縺後≠繧九ョ縺ィ縲∬。ィ3縺ョB遉セシ定。檎岼縺ィZ縺輔s縺ョシ定。檎岼縺ォ縺ゅ∴縺ヲ繧キ繝ウ繧ー繝ォ繧ッ繧ェ繝シ繝医′縺ゅk縺溘a縲∵枚蟄怜励→縺励※蝗イ縺セ繧後◆繧「ス槭え縺セ縺ァ繧帝∈謚櫁い縺ィ縺励※邨槭j霎シ繧薙〒谺イ縺励>縲ゅ→縺縺諢丞峙縺瑚ヲ九∴縺セ縺励◆
窶冖eyword=manual 窶和nd 窶兮窶=窶和窶
縺薙s縺ェ諢溘§縺ァ縺吶°縺ュ
繧ウ繝。繝ウ繝医≠繧翫′縺ィ縺縺斐*縺縺セ縺呻シ∫「コ縺九↓縺昴≧縺ァ縺吶ュ縲よ─隕壹〒隗」遲斐@縺ヲ縺翫j縺セ縺励◆縲
菫ョ豁」縺輔○縺ヲ鬆ゅ″縺セ縺吶
縺吶>縺セ縺帙s縲∝縲縺ョ隗」遲斐〒蜷医▲縺ヲ縺翫j縺セ縺励◆!
險ュ蝠2(1)縺ァ縺吶′縲∽ソョ豁」蜑阪〒縺ゅ▲縺ヲ縺繧九°縺ィ諤昴>縺セ縺吶
繝励Ο繧ー繝ゥ繝縺"select シ from a where keyword = 窶" + 蜈・蜉帛、螟画焚 + "窶" 縺ィ縺ェ縺」縺ヲ縺繧句エ蜷医1=1遲峨ッ譁蟄怜励→縺励※隱崎ュ倥&繧後k豌励′縺励∪縺吶
縺吶>縺セ縺帙s縲√∫嚀縺輔s繧ウ繝。繝ウ繝磯ゅ″縺ゅj縺後→縺縺斐*縺縺セ縺吶
蜈縲縺ョ隗」遲斐↓謌サ縺励∪縺励◆縲らァ√ョ諢溯ヲ壹′蜷医▲縺ヲ縺セ縺励◆縺ュ縲
譁蟄怜励〒縺ゅk縺薙→繧定諷ョ縺励※縲√#謖鞫倬ゅ>縺滄壹j縺ァ縺呻シ
蜿肴丐縺ゅj縺後→縺縺斐*縺縺セ縺吶
邏ー縺九>縺ァ縺吶′隗」隱ャ驛ィ蛻縺ァ繧ェ縺ョ蝣エ蜷医↓蜃コ譚・荳翫′繧鬼QL縺ッ
where keyword = 窶藁anual and 1=1窶
縺ィ縺ェ繧九ョ縺ァSQL繧ィ繝ゥ繝シ縺ォ縺ッ縺ェ繧翫∪縺帙s縲Leyword縺稽anual and 1=1 縺ョ蛟、繧呈、懃エ「縺励↓陦後¥縺薙→縺ォ縺ェ繧翫∪縺吶(譚。莉カ縺ォ荳閾エ縺吶k繝ャ繧ウ繝シ繝峨ッ0莉カ縺ィ縺ェ繧句エ蜷医′縺サ縺ィ繧薙←縺ァ縺吶′)
菴募コヲ繧ゅ≠繧翫′縺ィ縺縺斐*縺縺セ縺吶ょ勧縺九j縺セ縺吶
繝舌ち繝舌ち譖エ譁ー縺励※縺ッ繝繝。縺ァ縺吶√