SQLmap简介以及防火墙绕过方法 | 七行者博客
SQLmap简介以及防火墙绕过方法
许多现实中对于网站的攻击往往是由于网站没有及时更新或者对于用户的输入没有进行检查。从缓冲区溢出说起,这样一种针对系统脆弱性的威胁,最根本的问题还是在于对于用户的输入没有进行检查。作为主要威胁之一的带来了人们对于其应用和数据库的担忧。这个问题的出现有十年的时间了,但是现在仍旧在许多网站中出现。SQL注入就像许多当前主要的的web应用安全攻击问题也被划归在了对于用户输入的检查上。
许多web开发者并不知道语句能够被自定义(handle)并且假定SQL语句是一个让人信任的命令。这就让SQL语句能够绕过访问控制机制(access control),因此跳过标准的授权和认证检查。甚至有些时候SQL语句能够允许使用服务器操作系统上的命令行的权限。
直接的命令是一种方法,它被攻击者构造或者是修改现成的SQL命令来暴露出隐藏的数据或者是覆盖掉有价值的数据,甚至在服务器上执行危险地系统指令
结构化的语言是数据库的标准声明语言。这让(语言)变的更加简洁并且更易于使用。起源于70年代的IBM实验室。被用来让应用程序与数据库之间进行通信。
SQL使用如下的4种语言来对数据库进行操作
SELECT -从数据库中获得一条记录
INSERT-向数据库中插入一条记录
DELETE-从数据库中删除一条记录
UPDATE-从数据库中更新或者改变当前记录
当用户提交的语句被用作数据库的查询语句时就能够发生。比如当用户被网站认证授权,用户发送一个带有”用户名”和”密码”的信息,用户名/密码就与存放在数据库中的内容进行核对。如果相同的话用户就被允许登录,否则用户登录失败。以下是一个在后台进行登录的例子。
SELECT * FROM user WHERE username='$username' AND password='$password'
这个语句简单地指明了从user的表中查询用户名和username相等的,并且密码和password相等的。所以,如果用户发送用户名为”admin”,并且密码为″,那么语句被创建如下:
SELECT * FROM user WHERE username='admin' AND password ='12345'
那么,如果用户输入’ or =’1,第一个引号会终止输入的字符串,剩下的会被当做SQL语句,并且在SQL语句中1=1恒为真,这就能够让我们绕过注册机制
SELECT * FROM user WHERE username=’admin’ AND password =”or =* -TRUE
上述是一个的简单地例子,然而在实际过程中,SQL注入比这要复杂的多。在我们的渗透测试中,大多数时候我们有一个非常紧凑的计划表,所以这个时候我们需要一个自动化的攻击来为我们进行注入攻击。
SQLMAP就是一能够利用(系统)脆弱性的工具。它是开源的,并经常被用来在Python写的脆弱的DBMS上进行入侵的渗透测试。它能够检测并利用上的,让我们举例在操作系统和数据库上使用sqlmap.py。
我将尽可能地以最简洁的方式展示出来。
最常见的检测的方法是通过在输入处添加一个单引号(')并且期待(系统)返回一个错误,有些应用程序并不会返回错误。这个时候我们就会利用true/false语句来检查是否这个应用程序会受到SQL注入的攻击。
为了随机的找到还有的脆弱性的网站,你能够使用如下格式的语句利用google dork:inurl:news.php id =1?将会出现一堆google dork的数据并且为你过滤你搜索得到的结果提供了可能。那么让那个我们开始吧。
首先在backtrack上进入目录:
cd /pentest/database/sqlmap
我们不会立即开始,查看sqlmap.py的菜单使用命令:
./sqlmap.py -h
让我们运行sqlmap.py, 参数是[ –dbs],来发现DBMS中的所有数据库
或者是使用参数 -current-db来发现当前目标使用的数据库
参数-D表示目标的数据库,-table显示表列
我们将会检查在信息中是否包含感兴趣的内容(admin_users),并把它们按列显示出来,参数是-columns
在你列出表格之前每次指定目标数据库(使用-D参数)是很重要的,因为如果没有-D参数,程序将列出数据库中所有的表格
-T =目标参数
-C=目标列(可以指定超过一列,如:用户名(列),密码(列))
-dump=获得,提取数据
使用-proxy参数来使用代理
例如:./sqlmap.py -url “/listproducts.php?cat=1” -dbs -proxy=http://183.223.10.108:80
我认为以上是对于初学者的基础的命令。sqlmap同样提供许多有趣的功能,我建议使用-prefix=PREFIX,-postfix=POSTFIX和takeover选项。更多关于该工具的使用可以访问官方网站。
-dump是用来提取网站上的数据,调用时必须选中列,并且你必须明确从列中具体提取什么内容,这里我提取列中保存的登录和密码信息。
通常,DBMS的”password”字段是加密的。通常使用的加密算法是SHA-1,MD5,这些算法在使用时并没有加入”salt”(指根据用户的输入直接进行算法计算),这就使得破解更加容易。那么(拿到加密的数据后)我们就需要对其进行解密,我们能够使用许多在线解密网站如:
http://www.md5decrypt.org,
https://crackstation.net/,
或者尝试手工暴力破解和彩虹表。此外你还能够使用你的GPU来加快(破解)的过程,这就不是本文所要主要讨论的内容了。
幸运的是,sqlmap有一些非常好的脚本,在如下的地址中你能够发现它们。使用svn检查
https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
事实上,脚本的作用是修改我们发出的请求来防止其被WAF(网络应用防火墙)拦截。在某些情况你可能需要把一些脚本合并到一起才能过WAF。脚本的完整列表访问如下:
https://svn.sqlmap.org/sqlmap/trunk/sqlmap/tamper/
许多企业经常忽视当前(DBMS)的脆弱性而依赖于网络防火墙。不幸的是,经过简单地代码编码就能绕过大部分防火墙。所以先生们,我想展示一下如何利用一些新功能来绕过WAF/IDF(入侵检测系统)。
我将展示一些重要的脚本如charencode.py和charcodeencode.py来与MySQL进行操作,这些脚本能够在backtrack5的
/pentest/web/scanners/sqlmap下面找到。
Hands-on:在你使用这些脚本的时候,使用-tamper参数后面跟脚本名字,在截图中我们使用了charencode命令
charencode.py总结
简单的说,这个脚本能够绕过一些比较简单的网络防火墙(WAF).. 其它的比较有趣的功能是(WAF)在匹配它们的规则之前会对url进行解码。
另一个好的脚本是charunicodeencode.py,在我的实际渗透测试过程中,它帮助我绕过了许多防火墙的限制。
嘿,我只是展示了一小部分脚本,我强烈建议你将每个都使用一遍,因为它们往往适用于不同的环境。
注意:这并不是脚本小子的做法,负责地,熟练地掌握这样一个强大的工具是非常重要的
我将想你展示怎么样使用sqlmap和Onion路由器来保护你的IP,DNS等等,在linux中,在终端命令符为$时使用
sudo apt-get install tor tor-geoip
进入sqlmap的目录后:./sqlmap.py -u “/index/php?cata_id=1″ -b -a -tor -check-tor-user-agent=”Mozilla/5.0(Googlebot/2.1;+/bot.html)”
参数-tor使用Tor,-check-tor会检查Tor是否被正确地使用,如果没有正确被使用,终端会提示错误信息。用户代理是googlebot,所有你的请求会被看起来像是Googlebot发出的一样。
利用sqlmap的Tor我们能够设置你的TOR代理来隐藏实际请求产生的地址
-tor-port,-tor-type:这两个参数能够帮你手动设置TOR代理,-check-tor参数会检查你的代理是否被正确地***并正常的工作。
当SQL注入在几年前被发现时,许多目标都存在这样的缺陷,注入的格式就是其中最难的部分。渗透测试者往往需要自己构造这样的SQL语句。
接下来的发展就产生了自动注入的工具。当前最知名的工具可能就是sqlmap.py。SQLMAP是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP,MAXDB并支持6中SQL注入手段。
1.定期检查SQL服务器(的处理请求)
2.限制动态SQL语句
3.避免从用户直接获得数据
4.将数据库的权限信息单独存放在另外一个文件中
5.使用最小权限原则
6.使用预先准备好的(SQL)语句
本文固定链接:
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
2016年十一月
78910111213
14151617181920
21222324252627
最新日志热评日志随机日志好评:85.44%
坏评:14.56%
英雄联盟超神脚本是一款非常全面的英雄联盟辅助工具,绿色且完全免费,支持自动抢人头、自动引燃、蘑菇眼睛、一键连招、自动补兵以及风筝敌人等等功能,这只是部分功能,更多详细的功能大家下载使用后就知道了,绝对值得一用,非常之强大!
1无限视距(可调整)
2我的普攻范围
3我的经验范围(获取经验值的范围)
4敌对英雄普攻范围
6Gank探测器 (?人?抓?上?提示?色英文)
7炮塔攻击范围8可以显示蘑菇 夹子 等一些静止物体显示出来. (当敌人在你和你的队友视野内放置眼睛蘑菇=静始物。就会帮你记录下残影{还会有倒计时})
9插件会自动提示标记出可以普通攻击就能补刀的小兵
10点燃提示 显示是否可点燃死
11英雄技能CD自动补刀小兵
12根据伤害计算自动点燃抢人头
13自动吃红药(调百分比)
14自动使用蓝药 (调百分比)
15自动使用中亚沙漏 (调百分比)
16自动使用屏障 (调百分比)
17自动躲避技能 以上只是功能的大部分展示
详细使用说明
进入游戏后按F8 上下方向键选择 左右方向键确认开启 和 关闭
6.8 f8功能翻译(标有&新&字的表示是新加入的功能)
1 新 DebugMode 有时一些功能自动停止工作时,你会收到什么功能有问题的信息(不建议开)
2 ExtraCamFOV 无限视距 可设置1 2 3 4
3 Myrange 我的普攻范围
4 新 HpBarColor 血条颜色
5 exprange 我的经验范围(获取经验值的范围)
6 PlayersRange敌对英雄普攻范围 (使用F9功能尽量不要开)
7 Ward Placement 常用眼位
8 Enemy Vision 敌对英雄视野范围 gank好助手 显示敌人的视野范围
9 GankDetector Gank探测器 (?人?抓?上?提示?色英文) (Gank探测器不稳定不建议开)
10 turretrange 炮塔攻击范围
11 MapRevealer 可以显示蘑菇 夹子 等一些静止物体显示出来. (有残影不建议开启 )
(当敌人在你和你的队友视野内放置眼睛蘑菇=静始物。就会帮你记录下残影{还会有倒计时})
12 lasthitmarker 插件会自动提示标记出可以普通攻击就能补刀的小兵
13 smitemarker 惩戒提示 显示是否可以惩戒(开自动惩戒前先开这个)
14 smiteRange 显示你的召唤者的确切范围法术重击(适合安妮这类的英雄)
15 lgnite Marker 点燃提示 显示是否可点燃死 (开自动点燃前先开这个)
16 jungletimers 野外计时(打野首选)
17 ARAM Timers 极低大乱斗加血包计时器
18 extrachampinfo 敌对英雄信息
19 spellsstatus 英雄技能CD
20 新 drawskillshots 显示指向性技能轨迹 (会出现一条白色的直线显示指向性技能的方向)Q--------------------------------------------------------------------------------------------------------------------------
21 AntiAFK 挂机防止输入文字(不会出现挂机警告)
22 AntiHardCC 自动解除限制状态(自动使用解除限制英雄状态的技能,物品,召唤师技能)
23 Autolasthit 自动补刀小兵(可调1和2,1是全自动补兵2是半自动,按住alt的时候就会自动补兵,2不会影响走位,需要开启补兵提示)
24 Autosmite 自动惩戒 范围800(前提要开启惩戒提示)
25 Autolgnite 根据伤害计算自动点燃抢人头 (前提要开启点燃提示)
26 Auto Cr Flask % 自动使用水晶瓶(调百分比)
27 Auto HPPots% 自动吃红药 (调百分比)
28 Automanapts% 自动使用蓝药 (调百分比)
29 Auto Heal% 自动释放加血召唤师技能 (调百分比)
30 Auto Barrier 自动使用屏障 (调百分比)
31 Auoto zhonya 自动使用中亚沙漏 (调百分比)
32 Auto Ward Placer 自动放眼 (按[Z]键自动插眼)
33 AutoOrbWalking 当你锁定一个英雄时,并按住键盘上[A]键,你的英雄将攻击你的敌人(范围内),在此期间英雄自动向你的鼠标方向移动
34 新 OrbWDelay 如果你需要网络延迟和需要额外增加攻击性的动画毫秒时间,你可以使用该功能(喜欢开就开)
35 AutoDodgeSpells 自动躲避技能(为了提高躲避率建议开启显示指向性技能轨迹)Q--------------------------------------------------------------------------------------------------------------------------
36 SpellfarmMaker显示Q技能补兵的提示
37 AutoSpellfarm 自动Q技能补兵(可调1和2,1是自动Q兵,2是按住Caps Lock建自动Q兵,前提需要开启技能补兵提示)
辅助使用注意事项
第一步登陆YY频道926
第二步打开辅助选择目录后点击开启成功
第三步***辅助脚本,文件名:DirectXRuntimes之后进入游戏 在血池中 按F8 外挂成功开启
辅助视频介绍
1.不能开盒子跟杀毒,要关掉杀毒2.点击一键启动后提示成功
部分网吧防火墙问题,会导致启动终极版失败可以返回用其他功能
如果提示成功!进游戏内F8显示
***插件文件夹的必装补丁&在插件说明文件夹里&如果提示失败!请打开电脑管家或360安全卫士把{隔离箱}或{恢复区}内的最新EXE或DLL文件添加信任.重新启动!如果还是提示失败请卸载杀毒后试!&WIN7会弹出对话框,把安全模式拉倒最低&
lol部分英雄技能连招方法 先后顺序
卡特:空格连招顺序是eqw,秒杀的时候连招是eqwr。所以,如果你对这个英雄不熟的话前三级只要丢q就 好了。等三级后,自己看机会空格一下,然后往回走。空格已经取消了删除R的无用骚扰
光辉:空格的连招顺序是eq。秒杀的时候连招是eqr。已经为你添加R的攻击范围,所以我相信将会为您提供 简介的体验
球女:空格连招顺序是qwe。秒杀的时候连招是qwre。
发条:空格连招顺序是qw。秒杀的时候连招是qwr。所以e的顺序还是需要您自己控制
火男:空格连招顺序是eqw。秒杀时候的连招是ewqr。
阿卡丽:空格连招顺序是rqae,秒杀的时候连招是rqae。所以W是需要您自己丢的
女警:空格连招顺序是eq。秒杀时候连招是Q。我取消了R的加入,需要您自己看标识手动R,这次R的取消是 为了避免当面R的现象出现
EZ:空格是qawa. 秒杀也是qaqa。我取消了e的加入。避免在危机时候E进去,收人头。所以您需要自己控制E。
虚空行者:空格是QE。秒杀的时候是rqewa。
瑞文:一次空格连招顺序是ewqa 然后再按一次是qa,再按一次qa、爆发顺序也是ewqaqaqa。我取消了R的加入,觉得大招还是自己控 制比较好。PS:按空格间隔不能太猛,否则容易A不出来的,需要目测他A了之后才能继续看下一个空格。购买 者去自定义测试下
螳螂:空格连招顺序是qwe。秒杀顺序是ewq。我取消了R的加入,觉得大招还是自己控制比较 好
皮城执法官:空格是e。我取消了空格qe的加入。因为xz插件使用卫的时候q是两段的,无法很好的掌握q。 秒杀的顺序是reqa.
盲僧:空格连招顺序是qe.秒杀的连招是qqre。
机器人:空格连招是qe。秒杀连招是qr
赵信:空格连招是:ewq. 秒杀连招ewqr。
流浪 :空格连招是qweq、秒杀连招是qweq。我取消了大招的加入,觉得大招还是自己控制比较好
荆棘之兴:空格连招是ewqw..秒杀连招是ewqwr。秒杀连招中我加入了R,如果你觉得加入R不好,记 得跟我联系,我取消他
堕落天使:空格连招是qw.秒杀连招是qwr。所以你需要自己开E
妖姬:空格连招是eqw.秒杀连招是qrwe。可能这个连击不适合你,因为妖姬有很多种连发。你如果有需要 什么习惯性连招,可以联系我。秒杀的连招出发点是两段沉默。
猴子:空格连招是eq。秒杀连招是eqr。我取消了W了加入,需要您自己控制
蜘蛛:空格连招是eqw 秒杀是eqw.大招控制大蜘蛛我就不加入,觉得自己控制会比较好
泽拉斯:空格是weqr 秒杀是erq
剑姬:空格是ewq 再按空格一次是再Q。。秒杀的时候是直接ewqr
下载英雄联盟超神脚本 1.0 官网最新版
其他下载地址:
软件排行榜
热门关键字
关注新云安卓游戏网IIS 8.5 详细错误 - 404.0 - Not Found
HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
最可能的原因:
指定的目录或文件在 Web 服务器上不存在。
URL 拼写错误。
某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。
可尝试的操作:
在 Web 服务器上创建内容。
检查浏览器 URL。
创建跟踪规则以跟踪此 HTTP 状态代码的失败请求,并查看是哪个模块在调用 SetStatus。有关为失败的请求创建跟踪规则的详细信息,请单击。
详细错误信息:
模块&&&IIS Web Core
通知&&&MapRequestHandler
处理程序&&&StaticFile
错误代码&&&0x
请求的 URL&&&:80/safe/data/zwck.txt
物理路径&&&E:\vhost\default\htdocs\safe\data\zwck.txt
登录方法&&&匿名
登录用户&&&匿名
此错误表明文件或目录在服务器上不存在。请创建文件或目录并重新尝试请求。Monkey&Monkey Script - 行者的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
Monkey&Monkey Script
& 11:18:48
/ 个人分类:
一、Monkey1.什么是monkeyMonkey是android自带的命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。2.Monkey用法基本语法:adb
monkey [option]例如:adb shell monkey –v –v –v –p com.android.test 500 (发送500个随机指令对com.android.test这个包进行测试)option有如下:[-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...][-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...][--ignore-crashes] [--ignore-timeouts][--ignore-security-exceptions][--monitor-native-crashes] [--ignore-native-crashes][--kill-process-after-error] [--hprof][--pct-touch PERCENT] [--pct-motion PERCENT][--pct-trackball PERCENT] [--pct-syskeys PERCENT][--pct-nav PERCENT] [--pct-majornav PERCENT][--pct-appswitch PERCENT] [--pct-flip PERCENT][--pct-anyevent PERCENT][--pkg-blacklist-file PACKAGE_BLACKLIST_FILE][--pkg-whitelist-file PACKAGE_WHITELIST_FILE][--wait-dbg] [--dbg-no-events][--setup scriptfile][-f scriptfile[-f scriptfile] ...][--port port][-s SEED] [-v [-v] ...][--throttle MILLISEC] [--randomize-throttle][--profile-wait MILLISEC][--device-sleep-time MILLISEC][--randomize-script][--script-log][--bugreport]其中红色字体标出来的有一种用法为–f scriptfile这里就可以使用写的monkey脚本来实现&&二、Monkey Script1.什么是monkey scriptMonkey script是按照一定的语法规则编写有序的用户事件流并适用于monkey命令工具的脚本。2.Monkey script编写及运行在development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java源码下有一段注释规定了monkey script的基本规则,如下/*** monkey event queue. It takes a script. to produce events** sample script. format:* type= raw events* count= 10* speed= 1.0* start data &&* captureDispatchPointer(.14,0.,* 0.,0.0,0.0,65539,0)* captureDispatchKey(,0,0,0,0)* captureDispatchFlip(true)* ...*/红色部分规定的就是monkey script的编写方法type指明类型count说明执行次数,但是这里改成任何值都执行一次,monkey命令可以指定执行次数,这里也就无所谓了speed命令执行速率。改动无影响,可以通过monkey命令行指定。以上三个参数改动都没什么影响,一般不做改动。start data &&相当于一个入口,说明脚本从下面开始执行&例:#Start Scripttype = usercount = 49speed = 1.0start data &&LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)UserWait(5000)#open renrencaptureDispatchPointer(0,330,0,0,0,0,0,0,0);captureDispatchPointer(0,330,0,0,0,0,0,0,0);UserWait(3000)#close browsercaptureDispatchPointer(,31,0,0,0,0,0,0,0);captureDispatchPointer(,31,0,0,0,0,0,0,0);UserWait(2000)&以上是在k91上浏览器操作的一个脚本。执行步骤为1.打开浏览器2.打开人人网3.关闭浏览器具体的操作步骤为:1.将上述脚本复制到browser.txt中2.将browser.txt放到sd卡根目录3.adb shell monkey –v –v –v –f /sdcard/browser.txt –throttle
& monkey.txt脚本会按照browser.txt发送的指令序列每隔1.5s执行一个指令,执行100遍,并将log存在monkey.txt文件中。在源码development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java中规定了如下api可以供用户使用&&&privatestaticfinalString EVENT_KEYWORD_POINTER ="DispatchPointer";&DispatchPointer(long downTime,&long eventTime, int action,&&&float x, float y, float pressure, float size, int metaState,&&&float xPrecision, float yPrecision, int device, int edgeFlags)&privatestaticfinalString EVENT_KEYWORD_TRACKBALL ="DispatchTrackball";&DispatchTrackball(long downTime,&long eventTime, int action,&&&float x, float y, float pressure, float size, int metaState,&&&float xPrecision, float yPrecision, int device, int edgeFlags)&&privatestaticfinalString EVENT_KEYWORD_KEY ="DispatchKey";&DispatchKey(long downTime, long eventTime, int action, int code,&&&int repeat, int metaState, int device, int scancode)&&privatestaticfinalString EVENT_KEYWORD_FLIP ="DispatchFlip";&DispatchFlip(boolean keyboardOpen)&&privatestaticfinalString EVENT_KEYWORD_KEYPRESS ="DispatchPress";&DispatchPress(int keyCode)&&&&&privatestaticfinalString EVENT_KEYWORD_ACTIVITY ="LaunchActivity";&LaunchActivity(String pkg_name, String cl_name)&&privatestaticfinalString EVENT_KEYWORD_INSTRUMENTATION ="LaunchInstrumentation";LaunchInstrumentation(String test_name, String runner_name)&&privatestaticfinalString EVENT_KEYWORD_WAIT ="UserWait";&UserWait(long sleeptime)&&privatestaticfinalString EVENT_KEYWORD_LONGPRESS ="LongPress";&LongPress(int keyCode)&&privatestaticfinalString EVENT_KEYWORD_POWERLOG ="PowerLog";&PowerLog(String power_log_type)PowerLog(String power_log_type, String test_case_status)&privatestaticfinalString EVENT_KEYWORD_WRITEPOWERLOG ="WriteLog";&WriteLog: write power log to sdcard&privatestaticfinalString EVENT_KEYWORD_RUNCMD ="RunCmd";&RunCmd(String cmd):执行cmd命令&private