Advertisement
Guest User

Untitled

a guest
Feb 27th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.44 KB | None | 0 0
  1. error_reporting = E_ALL ^ E_DEPRECATED
  2.  
  3. $link = mysql_connect('localhost', 'user', 'pass');
  4. mysql_select_db('testdb', $link);
  5. mysql_set_charset('UTF-8', $link);
  6.  
  7. $db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
  8.  
  9. $db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8',
  10. 'username',
  11. 'password',
  12. array(PDO::ATTR_EMULATE_PREPARES => false,
  13. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
  14.  
  15. $db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8',
  16. 'username',
  17. 'password');
  18. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  19. $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  20.  
  21. //Connected to MySQL
  22. $result = mysql_query("SELECT * FROM table", $link) or die(mysql_error($link));
  23.  
  24. $stmt->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
  25. $stmt->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
  26. $stmt->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  27.  
  28. try {
  29. //Connect as appropriate as above
  30. $db->query('hi'); //Invalid query!
  31. }
  32. catch (PDOException $ex) {
  33. echo "An Error occured!"; //User friendly message/message you want to show to user
  34. some_logging_function($ex->getMessage());
  35. }
  36.  
  37. function data_fun($db) {
  38. $stmt = $db->query("SELECT * FROM table");
  39. return $stmt->fetchAll(PDO::FETCH_ASSOC);
  40. }
  41.  
  42. //Then later
  43. try {
  44. data_fun($db);
  45. }
  46. catch(PDOException $ex) {
  47. //Here you can handle error and show message/perform action you want.
  48. }
  49.  
  50. <?php
  51. $result = mysql_query('SELECT * from table') or die(mysql_error());
  52.  
  53. $num_rows = mysql_num_rows($result);
  54.  
  55. while($row = mysql_fetch_assoc($result)) {
  56. echo $row['field1'];
  57. }
  58.  
  59. <?php
  60. $stmt = $db->query('SELECT * FROM table');
  61.  
  62. while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  63. echo $row['field1'];
  64. }
  65.  
  66. <?php
  67. $stmt = $db->query('SELECT * FROM table');
  68. $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
  69.  
  70. //Use $results
  71.  
  72. <?php
  73. foreach($db->query('SELECT * FROM table') as $row) {
  74. echo $row['field1'];
  75. }
  76.  
  77. $stmt->fetch(PDO::FETCH_ASSOC)
  78.  
  79. <?php
  80. $stmt = $db->query('SELECT * FROM table');
  81. $row_count = $stmt->rowCount();
  82. echo $row_count.' rows selected';
  83.  
  84. <?php
  85. $result = $db->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");
  86. $insertId = $db->lastInsertId();
  87.  
  88. <?php
  89. $results = mysql_query("UPDATE table SET field='value'") or die(mysql_error());
  90. echo mysql_affected_rows($result);
  91.  
  92. <?php
  93. $affected_rows = $db->exec("UPDATE table SET field='value'");
  94. echo $affected_rows;
  95.  
  96. $stmt->bindParam(':bla', $bla);
  97.  
  98. <?php
  99. $stmt = $db->prepare("SELECT * FROM table WHERE id=:id AND name=:name");
  100. $stmt->execute(array(':name' => $name, ':id' => $id));
  101. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  102.  
  103. class person {
  104. public $name;
  105. public $add;
  106. function __construct($a,$b) {
  107. $this->name = $a;
  108. $this->add = $b;
  109. }
  110.  
  111. }
  112. $demo = new person('john','29 bla district');
  113. $stmt = $db->prepare("INSERT INTO table (name, add) value (:name, :add)");
  114. $stmt->execute((array)$demo);
  115.  
  116. <?php
  117. $stmt = $db->prepare("INSERT INTO folks (name, add) values (?, ?)");
  118. $stmt->bindValue(1, $name, PDO::PARAM_STR);
  119. $stmt->bindValue(2, $add, PDO::PARAM_STR);
  120. $stmt->execute();
  121.  
  122. $stmt = $db->prepare("INSERT INTO folks (name, add) values (?, ?)");
  123. $stmt->execute(array('john', '29 bla district'));
  124.  
  125. $stmt = $db->prepare("SELECT * FROM table WHERE id=:id AND name=:name");
  126. $stmt->execute(array(':name' => $name, ':id' => $id));
  127. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  128.  
  129. $stmt = $db->prepare("DELETE FROM table WHERE id=:id");
  130. $stmt->bindValue(':id', $id, PDO::PARAM_STR);
  131. $stmt->execute();
  132. $affected_rows = $stmt->rowCount();
  133.  
  134. $stmt = $db->prepare("UPDATE table SET name=? WHERE id=?");
  135. $stmt->execute(array($name, $id));
  136. $affected_rows = $stmt->rowCount();
  137.  
  138. $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  139. $pdo->query('SET NAMES GBK');
  140. $stmt = $pdo->prepare("SELECT * FROM test WHERE name = ? LIMIT 1");
  141. $stmt->execute(array(chr(0xbf) . chr(0x27) . " OR 1=1 /*"));
  142.  
  143. include_once("pdo_mysql.php");
  144.  
  145. pdo_connect("localhost", "usrABC", "pw1234567");
  146. pdo_select_db("test");
  147.  
  148. $result = pdo_query("SELECT title, html FROM pages");
  149.  
  150. while ($row = pdo_fetch_assoc($result)) {
  151. print "$row[title] - $row[html]";
  152. }
  153.  
  154. pdo_query("SELECT id, links, html, title, user, date FROM articles
  155. WHERE title='" . pdo_real_escape_string($title) . "' OR id='".
  156. pdo_real_escape_string($title) . "' AND user <> '" .
  157. pdo_real_escape_string($root) . "' ORDER BY date")
  158.  
  159. pdo_query("SELECT id, links, html, title, user, date FROM articles
  160. WHERE title=? OR id=? AND user<>? ORDER BY date", $title, $id, $root)
  161.  
  162. pdo_query("INSERT INTO pages VALUES (?,?,?,?,?)", $_POST);
  163.  
  164. function sanitize($str) {
  165. return trim(strip_tags(htmlentities(pdo_real_escape_string($str))));
  166. }
  167.  
  168. $result = pdo_query("SELECT * FROM tbl");
  169. while ($row = pdo_fetch_assoc($result)) {
  170.  
  171. foreach ($result as $row) {
  172.  
  173. $result->fetchAll();
  174.  
  175. function paraQuery()
  176. {
  177. $args = func_get_args();
  178. $query = array_shift($args);
  179. $query = str_replace("%s","'%s'",$query);
  180.  
  181. foreach ($args as $key => $val)
  182. {
  183. $args[$key] = mysql_real_escape_string($val);
  184. }
  185.  
  186. $query = vsprintf($query, $args);
  187. $result = mysql_query($query);
  188. if (!$result)
  189. {
  190. throw new Exception(mysql_error()." [$query]");
  191. }
  192. return $result;
  193. }
  194.  
  195. $query = "SELECT * FROM table where a=%s AND b LIKE %s LIMIT %d";
  196. $result = paraQuery($query, $a, "%$b%", $limit);
  197.  
  198. $city_ids = array(1,2,3);
  199. $cities = $db->getCol("SELECT name FROM cities WHERE is IN(?a)", $city_ids);
  200.  
  201. $insert = array('name' => 'John', 'surname' => "O'Hara");
  202. $db->query("INSERT INTO users SET ?u", $insert);
  203.  
  204. $data = $db->getAll("SELECT * FROM goods ORDER BY ?n", $_GET['order']);
  205.  
  206. mysql> create table users(
  207. -> id int(2) primary key auto_increment,
  208. -> userid tinytext,
  209. -> pass tinytext);
  210. Query OK, 0 rows affected (0.05 sec)
  211.  
  212. mysql> insert into users values(null, 'Fluffeh', 'mypass');
  213. Query OK, 1 row affected (0.04 sec)
  214.  
  215. mysql> create user 'prepared'@'localhost' identified by 'example';
  216. Query OK, 0 rows affected (0.01 sec)
  217.  
  218. mysql> grant all privileges on prep.* to 'prepared'@'localhost' with grant option;
  219. Query OK, 0 rows affected (0.00 sec)
  220.  
  221. <?php
  222.  
  223. if(!empty($_POST['user']))
  224. {
  225. $user=$_POST['user'];
  226. }
  227. else
  228. {
  229. $user='bob';
  230. }
  231. if(!empty($_POST['pass']))
  232. {
  233. $pass=$_POST['pass'];
  234. }
  235. else
  236. {
  237. $pass='bob';
  238. }
  239.  
  240. $database='prep';
  241. $link=mysql_connect('localhost', 'prepared', 'example');
  242. mysql_select_db($database) or die( "Unable to select database");
  243.  
  244. $sql="select id, userid, pass from users where userid='$user' and pass='$pass'";
  245. //echo $sql."<br><br>";
  246. $result=mysql_query($sql);
  247. $isAdmin=false;
  248. while ($row = mysql_fetch_assoc($result)) {
  249. echo "My id is ".$row['id']." and my username is ".$row['userid']." and lastly, my password is ".$row['pass']."<br>";
  250. $isAdmin=true;
  251. // We have correctly matched the Username and Password
  252. // Lets give this person full access
  253. }
  254. if($isAdmin)
  255. {
  256. echo "The check passed. We have a verified admin!<br>";
  257. }
  258. else
  259. {
  260. echo "You could not be verified. Please try again...<br>";
  261. }
  262. mysql_close($link);
  263.  
  264. ?>
  265.  
  266. <form name="exploited" method='post'>
  267. User: <input type='text' name='user'><br>
  268. Pass: <input type='text' name='pass'><br>
  269. <input type='submit'>
  270. </form>
  271.  
  272. user: bob
  273. pass: somePass
  274.  
  275. You could not be verified. Please try again...
  276.  
  277. user: Fluffeh
  278. pass: mypass
  279.  
  280. user: bob
  281. pass: n' or 1=1 or 'm=m
  282.  
  283. The check passed. We have a verified admin!
  284.  
  285. select id, userid, pass from users where userid='$user' and pass='$pass'
  286.  
  287. select id, userid, pass from users where userid='bob' and pass='n' or 1=1 or 'm=m'
  288.  
  289. <?php
  290.  
  291. if(!empty($_POST['user']))
  292. {
  293. $user=$_POST['user'];
  294. }
  295. else
  296. {
  297. $user='bob';
  298. }
  299. if(!empty($_POST['pass']))
  300. {
  301. $pass=$_POST['pass'];
  302. }
  303. else
  304. {
  305. $pass='bob';
  306. }
  307. $isAdmin=false;
  308.  
  309. $database='prep';
  310. $pdo=new PDO ('mysql:host=localhost;dbname=prep', 'prepared', 'example');
  311. $sql="select id, userid, pass from users where userid=:user and pass=:password";
  312. $myPDO = $pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
  313. if($myPDO->execute(array(':user' => $user, ':password' => $pass)))
  314. {
  315. while($row=$myPDO->fetch(PDO::FETCH_ASSOC))
  316. {
  317. echo "My id is ".$row['id']." and my username is ".$row['userid']." and lastly, my password is ".$row['pass']."<br>";
  318. $isAdmin=true;
  319. // We have correctly matched the Username and Password
  320. // Lets give this person full access
  321. }
  322. }
  323.  
  324. if($isAdmin)
  325. {
  326. echo "The check passed. We have a verified admin!<br>";
  327. }
  328. else
  329. {
  330. echo "You could not be verified. Please try again...<br>";
  331. }
  332.  
  333. ?>
  334.  
  335. <form name="exploited" method='post'>
  336. User: <input type='text' name='user'><br>
  337. Pass: <input type='text' name='pass'><br>
  338. <input type='submit'>
  339. </form>
  340.  
  341. user: bob
  342. pass: somePass
  343.  
  344. user: Fluffeh
  345. pass: mypass
  346.  
  347. user: bob
  348. pass: n' or 1=1 or 'm=m
  349.  
  350. You could not be verified. Please try again...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement