注入
文章平均质量分 88
Eugene800
这个作者很懒,什么都没留下…
展开
-
CreateRemoteThread 直接注入代码执行
上回写到用CreateRemoteThread注入dll,这次换个方式直接注入代码原创 2014-12-12 11:38:24 · 3331 阅读 · 0 评论 -
SQL报错注入小结
sqli-labs的前4个实验(Lab1-Lab4)是基于SQL报错注入(Error-based injection)。什么是SQL报错注入?这是一种页面响应形式。响应过程如下:当用户在前台页面上输入检索内容时,后台将前台页面上输入的检索内容无加区别的拼接成sql语句,送给数据库执行。数据库将执行结果返回给后台。后台将数据库执行结果无加区别的显示到前台页面上。上面这句话中,我用了2个"无加区别"-...原创 2018-05-13 15:53:19 · 18948 阅读 · 1 评论 -
关于mysql注入天书中 Background-3 导入导出相关操作的讲解 一文的一些疑惑
之前转载了一篇博文:<Background-3 导入导出相关操作的讲解>,文中,我提出了我的质疑(下文红色部分):"Load_file(file_name):读取文件并返回该文件的内容作为一个字符串。使用条件:A、必须有权限读取并且文件必须完全可读 and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限。 ...原创 2018-06-02 17:25:20 · 479 阅读 · 0 评论 -
可以这样去理解group by和聚合函数
转自:关于GROUP BY和聚合函数写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢?不过最后还是转过来了,简单写写吧,大牛们直接略过吧。=========正文开...转载 2018-05-26 23:54:37 · 323 阅读 · 0 评论 -
详细讲解双查询注入
转自:详细讲解双查询注入我说双查询很难讲清楚,这次就试着讲一下。读了一些原理性的东西。然后尽量通俗的给大家讲清楚。。在此之前,我们理解一下子查询,查询的关键字是select,这个大家都知道。子查询可以简单的理解在一个select语句里还有一个select。里面的这个select语句就是子查询。看一个简单的例子:Select concat((select database()));真正执行的时候,先...转载 2018-05-27 00:08:56 · 2800 阅读 · 3 评论 -
mysql buglist上关于SQL子查询注入的邮件列表
[11 Aug 2016 14:36] Shahriyar Rzayev Description:Running query is:select count(*), concat(version(),floor(rand(0)*2))x from information_schema.tables group by x; ERR...转载 2018-05-27 00:15:19 · 412 阅读 · 2 评论 -
Background-2 盲注的讲解
转自:lcarmy何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面。此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注。从background-1中,我们可以知道盲注分为三类•基于布尔SQL盲注•基于时间的SQL盲注•基于报错的SQL盲注Ps:知识点太多了,这里只能简单列出来大致讲解一下。(ps:每当看到前辈的奇淫技巧的payload时,能想象...转载 2018-06-23 10:42:21 · 264 阅读 · 0 评论 -
Sqli-labs less 5
Sqli-labs Less5 在导航页里显示的是要使用双查询,但是本文的原作者lcarmy在文章大部分讲解了盲注,在接近结尾的时候匆匆带到了双查询注入,有点喧宾夺主的感觉。转自:lcarmyLess-5这里说一下,有很多的blog是翻译或者copy的,这关正确的思路是盲注。从源代码中可以看到,运行返回结果正确的时候只返回you are in....,不会返回数据库当中的信息了,所以我们不能利用上...转载 2018-06-23 11:29:51 · 1847 阅读 · 1 评论 -
Sqli-labs less 6
转自:lcarmyLess6与less5的区别在于less6在id参数传到服务器时,对id参数进行了处理。这里可以从源代码中可以看到。id=′"′.id=′"′.id.'"';sql="SELECT∗FROMusersWHEREid=sql="SELECT∗FROMusersWHEREid=id LIMIT 0,1";那我们在这一关的策略和less5的是一样的。只需要将 ' 替换成 " .这里我们...转载 2018-06-23 16:13:21 · 558 阅读 · 0 评论 -
Sqli-labs less 7
Less-7本关的标题是dump into outfile,意思是本关我们利用文件导入的方式进行注入。而在background-3中我们已经学习了如何利用dump into file.这里首先还是回到源代码中去。重点放在对id参数的处理和sql语句上,从源代码中可以看到sql="SELECT∗FROMusersWHEREid=((′sql="SELECT∗FROMusersWHEREid=((′i...转载 2018-06-23 16:23:12 · 1055 阅读 · 0 评论 -
Sqli-labs less 8
经过简单的测试,我们发现 'or 1=1--+返回正常,那么我们就基本知道应该怎么使用了,参考less5.这里简单的进行一个示例:http://127.0.0.1/sqllib/Less-8/?id=1%27and%20If(ascii(substr(database(),1,1))=115,1,sleep(5))--+这里用的延时注入,当然了我们使用布尔类型的注入也是可以的,那么和第五关有什么区...转载 2018-06-23 16:40:34 · 1326 阅读 · 0 评论 -
Background-3 导入导出相关操作的讲解
1.load_file()导出文件Load_file(file_name):读取文件并返回该文件的内容作为一个字符串。使用条件:A、必须有权限读取并且文件必须完全可读 and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明具有读写权限。 and (select count(*) from mysql.user)>0/...转载 2018-06-02 15:18:44 · 530 阅读 · 0 评论 -
sqli-labs boolean-based 盲注脚本
sqli-labs从Less8到Less10是盲注练习:大家在看lcarmy做练习Less5时应该发现他手动输入了含有payload的url。的确,出于演示目的,显得条理很清晰;但是,这样做的重复工作量实在太大了,做完这样的练习至少需要不厌其烦的耐心!我觉得,做这类练习的人,或多或少写过代码,所以肯定会想到用脚本之类的工具代替重复工作。在此,提供一份脚本,实现以上目的。...原创 2018-06-24 16:48:35 · 2325 阅读 · 1 评论 -
Sqli-labs less 9
本关我们从标题就可以看到 《基于时间-单引号》,所以很明显的这关要我们利用延时注入进行,同时id参数进行的是 ' 的处理。这里我们大致的将延时注入的方法演示一次。这里用sleep()函数。这里因为我们利用的是时间的延迟,贴图就没有意义了,这里只写payload了:(正确的时候直接返回,不正确的时候等待5秒钟,只贴正确的)猜测数据库:http://127.0.0.1/sqllib/Less-9/?i...转载 2018-07-13 21:46:13 · 432 阅读 · 0 评论 -
Sqli-labs less 10
本关我们从标题就可以看到 《基于时间-双引号》,所以很明显的这关要我们利用延时注入进行,同时id参数进行的是 " 的处理。和less9的区别就在于单引号(')变成了("),我们这里给出一个payload示例,其他的请参考less-9猜测数据库:http://127.0.0.1/sqllib/Less-10/?id=1"and%20If(ascii(substr(database(),1,1))=1...转载 2018-07-13 21:52:36 · 229 阅读 · 0 评论 -
Sqli-labs less 4
转自:lcamryLess-4我们使用?id=1" 注入代码后,我们得到像这样的一个错误: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1"") LIMIT 0,1' at...转载 2018-05-12 21:01:08 · 203 阅读 · 0 评论 -
Sqli-labs less 3
转自:lcamryLess-3我们使用?id='注入代码后,我们得到像这样的一个错误:MySQL server version for the right syntax to use near "") LIMIT 0,1′ at line 1这里它意味着,开发者使用的查询是:Select login_name, select password from table where id= ('our...转载 2018-05-12 20:54:35 · 241 阅读 · 0 评论 -
CreateRemoteThread 直接注入代码执行一文拾遗
Three Ways to Inject Your Code into Another Process 一文中提到成功注入进程后,子类化窗口过程的一些技巧。作者分配了一块堆内存,然后将线程参数和线程函数前后紧挨着拷贝到这片堆内存中,最后CreateRemoteThread运行线程函数。作者的这种方式要获得线程参数只能通过远程线程自定位的方式。我这么懒惰可能直接把需要的参数当做CreateRemot原创 2014-12-17 13:31:27 · 1371 阅读 · 0 评论 -
SetThreadContext注入
这文章其实不能算原创了只是把别人的代码搬过来注释然后测试一下。 原文链接->http://bbs.pediy.com/showthread.php?t=159536 作者通过修改Context.Eip来达到Hook EIP的目的,不过这种方式我表示在我的win2003上没有成功。同时,作者提供了在github上的源码,源码中作者修改的是Context.Eax。起初很不解,eax跟返回值相原创 2014-12-24 11:41:53 · 5583 阅读 · 2 评论 -
CreateRemoteThread LoadLibrary 注入DLL
详细的注入代码实现可参考链接中的第二部分:http://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-Proces网上大多数用CreateRemoteThread LoadLibrary 这种方式注入DLL的博文最终都参考这个链接。我修改了部分代码,输入pid注入对应的进程1原创 2014-12-10 13:17:02 · 2453 阅读 · 0 评论 -
R3下远程线程注入/IAT Hook
先上程序,然后慢慢解释// remoteIATHook.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #pragma comment(lib,"user32.lib")#define OPEN原创 2015-05-27 15:38:32 · 1326 阅读 · 0 评论 -
LD_PRELOAD应用--基于libvirt审计(上)
转载请表明出处,本人邮箱:562703006@qq.com 随着近年来虚拟化技术飞速发展,使用虚拟化工具的人数日趋增加,同时孕育了大量相关产业。libvirt虚拟化审计就是在这个背景下产生的。 libvirt提供了统一抽象的虚拟化管理平台---libvirtd服务器,通过他可以与主流的虚拟化平台交互,例如QEMU/KVM等, 将用户虚拟机请求发送给特定具体的虚拟化介质,由该原创 2015-06-20 13:53:06 · 1023 阅读 · 0 评论 -
解决LD_PRELOAD无法截获printf的问题
前面博文 Linux下入门级导出函数截获-使用LD_PRELOAD环境变量 中说道用LD_PRELOAD的方法截获动态库中的函数,有人问我不能截获printf,我就在此文中回答这个问题吧。 首先看下他写的用于拦截的代码和测试代码拦截代码#include extern void printf(const char *format,...);void printf(const原创 2015-06-06 19:52:57 · 1810 阅读 · 2 评论 -
调试LD_PRELOAD注入的代码
LD_PRELOAD提供了平民化的注入方式固然方便,同时也有不便:注入库出错后调试比较困难。我琢磨了几天找到了可行的调试方法,当然未必是最有效的办法。抛出陋文,希望引来美玉~ 首先,写一段代码作为普通的动态库,公开接口,供人调用,如下://true.cint fake(const char* s1,const char* s2){ return 0;}gcc -g3原创 2015-06-10 23:19:11 · 3404 阅读 · 0 评论 -
堆溢出(DwordShoot)利用SEH异常处理
异常处理的身影处处可见,最常见的处理方式就是当异常发生时,在异常处理模块中记录日志,便于程序员事后定位。但是,被异常处理包含的代码真的会在异常发生时让程序优雅的退出吗?在程序的世界里什么都可能发生,所以,可以说前面那个问题的答案是否定的。这正是本文的主题:利用SEH异常处理。 SEH溢出有多种方式:栈溢出和堆溢出。本文关注堆溢出后如何利用SEH。堆溢出的步骤和前文一样:从FreeList原创 2016-11-25 00:20:13 · 1718 阅读 · 0 评论 -
一种少见的Dll注入方式(基于MS 应用程序验证机制)
之前我转发了关于一篇Dll注入的文章:DoubleAgent: Zero-Day Code Injection and Persistence Technique 。文章中提到通过提供伪造的应用程序验证器(下文简称恶意VerifierDlls)注入进程的思路和windows镜像劫持(下文简称为IFEO)有点相似,都是通过修改注册表项来实现劫持进程的目的。HKEY_LOCAL_MACHINE\S原创 2017-04-29 23:33:45 · 2346 阅读 · 0 评论 -
DoubleAgent: Zero-Day Code Injection and Persistence Technique
转自:https://cybellum.com/doubleagentzero-day-code-injection-and-persistence-technique/OverviewWe’d like to introduce a new Zero-Day technique for injecting code and maintaining persistency on a转载 2017-04-24 23:19:39 · 1212 阅读 · 0 评论 -
MYSQL注入天书之前言 [Sqli-labs]
转自:lcamry请允许我叨叨一顿:最初看到sqli-labs也是好几年之前了,那时候玩了前面的几个关卡,就没有继续下去了。最近因某个需求想起了sqli-labs,所以翻出来玩了下。从每一关卡的娱乐中总结注入的方式,这就是娱中作乐,希望能保持更大的兴趣学下去。而很多的东西不用就忘记了,有些小的知识点更是这样,网上搜了一下相关资料,基本上同仁前辈写的博客中讲解基础关。脑门一热决定给后面的人留下点东西...转载 2018-05-12 16:04:21 · 718 阅读 · 0 评论 -
Sqli-labs介绍、下载、安装
转自:lcarmySQLI和sqli-labs介绍SQLI,sql injection,我们称之为sql注入。何为sql,英文:Structured Query Language,叫做结构化查询语言。常见的结构化数据库有MySQL,MS SQL ,Oracle以及Postgresql。Sql语言就是我们在管理数据库时用到的一种。在我们的应用系统使用sql语句进行管理应用数据库时,往往采用拼接的方式...转载 2018-05-12 16:06:32 · 3926 阅读 · 0 评论 -
MYSQL注入天书之基础知识
转自:lcarmy第一部分/page-1 Basic ChallengesBackground-1 基础知识此处介绍一些mysql注入的一些基础知识。(1)注入的分类---仁者见仁,智者见智。下面这个是阿德玛表哥的一段话,个人认为分类已经是够全面了。理解不了跳过,当你完全看完整个学习过程后再回头看这段。能完全理解下面的这些每个分类,对每个分类有属于你的认知和了解的时候,你就算是小有成就了,当然仅...转载 2018-05-12 20:38:07 · 793 阅读 · 0 评论 -
Sqli-labs less 1
转自:lcamryLess-1我们可以在http://127.0.0.1/sqllib/Less-5/?id=1后面直接添加一个 ' ,来看一下效果:从上述错误当中,我们可以看到提交到sql中的1'在经过sql语句构造后形成 '1'' LIMIT 0,1,多加了一个 ' 。这种方式就是从错误信息中得到我们所需要的信息,那我们接下来想如何将多余的 ' 去掉呢?尝试 'or 1=1--+此时构造的s...转载 2018-05-12 20:45:52 · 229 阅读 · 0 评论 -
sql-labs Time-based盲注脚本
sqli-labs lab9/lab10是基于时间的盲注,如果完全用手动注入,费时费力。想到之前写过一篇基于布尔盲注的博文,于是我把当时脚本中的payload进行了修改,记录于此。 相比之前的脚本,替换了payload。另外,脚本记录了发送请求前的时间和响应返回的时间,比较时间差是否大于payload中设置的sleep时间(因为测试用的服务器就在本地虚拟机里,几乎不会有延迟,所以可以...原创 2018-07-14 10:49:45 · 1020 阅读 · 0 评论