meicolorful meicolorful 2012-11-10 10:50:24

[PHP] 俺JavaScriptでDB更新できるんだぜ(キリッ     いやいや違うから このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

運用中コードを覗いて見つけて大爆笑してました。

JavaScriptからPHPを呼び出しているようです(項目名はぼかしています) これdrop tableとか渡したら。。。怖くて試していません。

// JavaScript
var ins = "insert into xxx(v1, v2, v3) values('"+v1+"','"+v2+"',null)";
var someArr = ["a","b","c"];
$.ajax({
  type: "POST",
  url: "update.php",
  data: { p1: ins, p2: someArr }
});


//----------------------


// update.php
<?php

  require("common.php.inc");

  $db = new PDO("DBへのパス");

  try {
    $sql = $_REQUEST['p1'];
    $db->exec("begin tran");
    $db->exec($sql);

    for ($i=0; $i<count($_REQUEST['p2']); $i++) {
       ...何かの処理に失敗したら$errflgを1にする
    }

    if ($errflg != 1) {
      $db->exec("commit");
    } else {
      $db->exec("rollback");
    }
  } catch (Exception $e) {
    $db->exec("rollback");
    exit(1);
  }

?>

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(9)

#1 milkyholmes0331 milkyholmes0331 2012-11-10 11:00:25  

脆弱性しかなかった

#2 ekykwan ekykwan 2012-11-10 16:37:44  

もはやウンコを越えた何か

#3 math_neko math_neko 2012-11-13 05:17:05  

ソースがクソである以前の何かだな

#4 johna1203 johna1203 2012-12-25 03:15:50  

warning! 怖いなこのコード!

#5 m_shige1979 m_shige1979 2012-12-29 19:56:56  

きっとあれだ、insertしかできないような権限しかないはずだきっと。きっと・・・

#6 InternalServerE InternalServerE 2012-12-30 03:54:54  

insertだけならセキュリティリスクがない、とでも?

#7 nullshooter2 nullshooter2 2013-02-24 13:52:23  

include, require, use等の命令で取り込むためのインクルードファイル名に「.inc」「.pm」等、標準ではWebサーバ(ソフトウェア)やWebアプリケーションサーバがスクリプトとして認識しない拡張子をもたせている。これらのインクルードファイルはURLさえ見当がつけばインターネットから閲覧できるおそれがある http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/401.html

#8 17_daiki 17_daiki 2013-05-11 17:56:33  

危険すぎる

#9 Jenejis Jenejis 2016-06-16 23:22:28  

専門学校でやったのと同じだ、、、 なにも考えてなかったけど脆弱性の塊なのな。

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[Java] is禁止令

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは違い、レビューで指摘...

// Mod yamada Start

// 一般的に考えて真偽値を返すメ...

鑑賞する »

[C#] コーディング時最適化

このエントリーをはてなブックマークに追加

最適化の効いた良いコードだと思います。 ...

static void Main() {
    Console.WriteL...

鑑賞する »

[Java] もうコメント書くなお前

このエントリーをはてなブックマークに追加

改修案件でぶち当たったソース マジでこ...

/**
  *
  *   〇〇の値を取得する
  *
  */
pu...

鑑賞する »