提示:有错请指正,不喜勿看
前言
这玩意,可以借助工具,但是要知道原理
1.联合查询结合hackbar
2.联合查询结合SQLmap
一、结合hackbar,判断注入类型
通过sqli靶场进行演示(全名叫什么忘了,搜索sql靶场搭建CSDN就出来了)
GET类型,先加点' 如果报错
说明这个点破坏了原有的语法结构,从左向右单引号顺序为1.2.3.4.5,其中1.5配对2.4配对3就是报错的那个单引号
加'报错,就在后面加--+(建议GET请求中使用--+ POST使用-- (这里是一个空格,也就是 杠杠空格))
如果加--+之后不报错了,说明是字符型通过两个单引号' '闭合
加--+后继续报错,如下图,那就是整数型
如果加'不报错加' --+也不报错,那可能通过"进行闭合
二、联合查询过程
1.判断一共有几个回显位置
然后讲数字1分别替换成1,2,3......(也可以二分法10,5,3 ) 这个是对第数字(下图是1)列进行排序,假设有3列,你对第4列进行排序,他就报错,对第3列排序成功了,说明他有第3列,这样就可以看他有几个显示位置
2.判断回显位置,鼠标选中+ORDER+BY+1然后按照下图进行点击,下图中有一个位置输入3,这个就是上图判断出来的回显位置数量,如果不显示2.3,就把1改为-1,(让前面为假,查询不出来结果,执行后面的联合查询语句)
3.鼠标选中2或者3进行语句替换
4. 查看数据库名字
5.弹出来的框框让你输入上一步得到的数据库名字()这样查询结果是该数据库中的表的名字
6.查看表中列的名字1位置输入表名字 2位置在后面加一个table_schema='security' (weile联合查询结果更准确)3位置就是查询结果
7.依次输入数据库名字,表名,要查询的行
三、结合burp(怎么配置的CSDN搜去)
1.先抓包
2.按照下面顺序
3.先在1位置输入--dbs,点击2,出数据库名字
4.然后重读上述步骤,--dbs换成-D security --tables,出表名
然后-D security -T users --columns出列
然后 -D security -T users -C id,username,password --dump出结果
总结
阿巴阿巴阿巴阿巴,r如果记录bug,如果burp联动sqlmap弹出来控制台但是不进行注入,1,burp或者sqlmap路径有中文,2汉化版burp的bug,换成英文版的就可以了,一个单词看不懂的我真卑微.