当前位置: 首页 > wzjs >正文

上海 网站开发 工作室seo网站排名优化公司

上海 网站开发 工作室,seo网站排名优化公司,网页在线制作网站源码,什么样的网站高大上靶场:NSSCTF 、云曦历年考核题 二、sql注入 NSSCTF 【SWPUCTF 2021 新生赛】easy_sql 这题虽然之前做过,但为了学习sql,整理一下就再写一次 打开以后是杰哥的界面 注意到html网页标题的名称是 “参数是wllm” 那就传参数值试一试 首先判…

靶场:NSSCTF 、云曦历年考核题

二、sql注入

NSSCTF

【SWPUCTF 2021 新生赛】easy_sql

这题虽然之前做过,但为了学习sql,整理一下就再写一次

打开以后是杰哥的界面

注意到html网页标题的名称是  “参数是wllm”

那就传参数值试一试

首先判断注入类型数字型字符型

传1

传2 没有回显

同样的,后面的3456都没有回显

光传abc也没有回显

所以应该是数字型注入

然后判断闭合方式

接下来传1'   (单引号)

出现报错

然后传1"   (双引号)

页面又有回显  

回到报错的 1'页面,分析报错语句

注意看这个位置

这里要记住的是:无论是单引号还是双引号在sql语句中都是成对出现的,包括 ( ) { } 【】各种括号 。

所以上面的报错句应该注意到最后的一个引号,要成对则前面必有一个单引号与它成一对。

也就是说,在这个报错语句中,一对单引号 ' ' 包裹着刚才我们注入的内容:' 1' '

所以这一堆引号就该这么拆:

'   '  1'  ' LIMIT 0,1  '

所以包裹着我们注入的 1' 的就是单引号  ' ' 。也就是说明这题的闭合方式是单引号。

既然如此那加个注释: --+   

目的是把单引号注释掉

发现页面没有报错了,有了回显,这就说明闭合方式判断正确

这里还有一个验证是否存在sql漏洞的方法:

当输入1=1时(条件为真),页面正常显示或有回显

 

当输入1=2时(条件为假),页面未正常显示

 这就说明我们输入的内容数据库是能够执行的,即存在sql注入漏洞

那么接下来就是一系列的爆数据库,直到爆出需要的信息(flag)

正规的讲叫先判断列数

语句是order by

比如现在一列列爆

第一列,有

 第二列有

第三列也有

但是到了第三列就会显示它不认识了

包括后面的第5列也如此

也就是说,这个数据库里的表总的只有三列

既然查出了总列数,接下来就需要联合查询所有列数下的数据,语句 union select

这里要注意:需要把传入参数的值1改为-1

然后开始联合查询

可以看到用户名位于第2列的位置,密码位于第3列的位置 (回显位为2、3位)

接下来可以看看这两列的数据,一列列来,第2列:

有了 ,可以看到是test_db

第3列:

都是test_db ,这当然的,两个都在一个数据库(test_db)里面

爆出来的这个是数据库名

接下来查表名(table_name)

然后出现这么个东东

英语也不太好,翻译一下

ouou  我知道了,我只改了第2列数据库名的位置,忘了后面还有个第3列了

大意了haha

加入第3列

提示返回的信息超过一行

一个解决办法就是使用group_concat把table_name变为一行即可      group_concat(table_name)

得到有两个表的表名

接下来查列名(column_name ):

对应的把刚刚的表名table_name改为column_name(列名);

tables改为columns,最后加上刚查到的表名users

执行

select group_concat(column_name) from information_schema.columns where table_schema='test_db' and table_name='users'

得到列名为password

都查出来了,select后面的就全扔掉,看看列名为password的数据列里面有什么,有没有想要的数据(flag)但这里好像出了点问题,爆出来又是yyy(不对,没问题,我查的就是password,而password为yyy刚开始就告诉我了),所以问题在于没有爆出可用的列名

回去找了一下,应该是上一步爆列名的问题,命令

select group_concat(column_name) from information_schema.columns where table_schema='test_db' and table_name='users'

应该改写为

select group_concat(column_name) from information_schema.columns where table_schema='test_db'

即删去了后面的and tablename='users'

至于为什么要这么改,后面也想清楚了:

如果查列名的语句含有 and table_name='users'   这样就代表我们是查询名为users的表下的所有列名;

而如果删去 and table_name='users'  仅前面的语句就不指定表名而是查询所有表下的所有列名,这样才能把flag列名爆出来  (也就是说其实flag是存在于test_tb表下的,而并不在users表下,如果冒然的将查询列规定为users表下面,只会画蛇添足,还找不到flag)

弄清楚以后重新爆列名,不用多此一举限制查询的范围(删去 and table_name='users')

发现这次列名就全了,可以看到flag列了。

那么接下来直接爆flag

既然刚刚无意中发现flag不在users表下而是在test_tb表下,那就直接爆test_tb表的flag列即可

 

 

http://www.dtcms.com/wzjs/406625.html

相关文章:

  • 天津网站制作网页上海百度公司地址
  • 上海企业免费建站免费html网页模板
  • 自有网站建设的团队石家庄新闻网
  • 网站注册域名免费电脑网页制作
  • 做羞羞事视频网站怎么分析一个网站seo
  • 怎么做网站发货重庆森林电影简介
  • 营销网站文章去那找营销策划的八个步骤
  • 那家b2c网站建设报价网站热度查询
  • 游戏平台网页版南宁百度seo排名价格
  • 常德网站建设谷歌三件套下载
  • 建网站卖多少钱搜索引擎营销的特点有
  • 东莞阿里巴巴网站建设网络销售好做吗
  • 2017网站建设公司排名东莞排名优化团队
  • cms做网站容易不苏州网站优化排名推广
  • 网站怎么做百度快照首页
  • 定制高端网站长沙网站外包公司
  • 网站设计建设 公司网页设计制作网站代码
  • 怎样做视频网站的外链手机优化助手下载
  • 做网站免费搭建app推广方式
  • 做网站的网址是哪里来的世界500强企业
  • 在线绘制流程图的网站seo岗位是什么意思
  • 网站开发服务器怎么选中国免费网站服务器下载
  • 自己做的网站怎么上线网络营销创意案例
  • 济南网站建设招聘seo工作流程
  • 广东专业网站优化公司宁波seo行者seo09
  • 京东企业的电子网站建设小程序开发多少钱
  • 做京东电脑端首页链接的网站百度推广有哪些推广方式
  • 政府做网站线上营销策划案例
  • 中日韩精品电影推荐网站营销管理
  • 西安市免费做网站今日小说百度搜索风云榜