﻿{"id":1033,"date":"2021-03-21T04:52:25","date_gmt":"2021-03-20T20:52:25","guid":{"rendered":"https:\/\/byy3.com\/?p=1033"},"modified":"2021-03-21T04:53:36","modified_gmt":"2021-03-20T20:53:36","slug":"xsscapy%e7%9a%84python%e5%86%99%e7%9a%84python2%e7%8e%af%e5%a2%83xxs%e7%bd%91%e7%ab%99%e6%bc%8f%e6%b4%9e%e7%88%ac%e8%a1%8c","status":"publish","type":"post","link":"https:\/\/byy3.com\/?p=1033","title":{"rendered":"xsscapy\u7684python\u5199\u7684python2\u73af\u5883xss\u7f51\u7ad9\u6f0f\u6d1e\u722c\u884c"},"content":{"rendered":"<p>xsscrapy<br \/>\nFast, thorough, XSS\/SQLi spider. Give it a URL and it'll test every link it finds for cross-site scripting and some SQL injection vulnerabilities. See FAQ for more details about SQLi detection.<\/p>\n<p>From within the main folder run:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\" rel=\"nofollow\" >http:\/\/example.com<\/a><br \/>\nIf you wish to login then crawl:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\/login_page\" rel=\"nofollow\" >http:\/\/example.com\/login_page<\/a> -l loginname<br \/>\nIf you wish to login with HTTP Basic Auth then crawl:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\/login_page\" rel=\"nofollow\" >http:\/\/example.com\/login_page<\/a> -l loginname --basic<br \/>\nIf you wish to use cookies:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\/login_page\" rel=\"nofollow\" >http:\/\/example.com\/login_page<\/a> --cookie &quot;SessionID=abcdef1234567890&quot;<br \/>\nIf you wish to limit simultaneous connections to 20:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\" rel=\"nofollow\" >http:\/\/example.com<\/a> -c 20<br \/>\nIf you want to rate limit to 60 requests per minute:<\/p>\n<p>.\/xsscrapy.py -u <a href=\"https:\/\/byy3.com\/go\/?url=http:\/\/example.com\/\" rel=\"nofollow\" >http:\/\/example.com\/<\/a> -r 60<br \/>\nXSS vulnerabilities are reported in xsscrapy-vulns.txt<\/p>\n<p>Dependencies<br \/>\nwget -O <a href=\"https:\/\/byy3.com\/go\/?url=https:\/\/bootstrap.pypa.io\/get-pip.py\" rel=\"nofollow\" >https:\/\/bootstrap.pypa.io\/get-pip.py<\/a><br \/>\npython get-pip.py<br \/>\npip install -r requirements.txt<br \/>\nMay need additional libraries depending on OS. libxml2 libxslt zlib libffi openssl (sometimes libssl-dev)<\/p>\n<p>Tests<br \/>\nCookies<br \/>\nUser-Agent<br \/>\nReferer<br \/>\nURL variables<br \/>\nEnd of URL<br \/>\nURL path<br \/>\nForms both hidden and explicit<br \/>\nFAQ<br \/>\nIf it gives an error : ImportError: cannot import name LinkExtractor. This means that you don't have the latest version of scrapy. You can install it using: sudo pip install --upgrade scrapy.<br \/>\nIt's called XSScrapy, so why SQL injection detection too? There is overlap between dangerous XSS chars and dangerous SQL injection characters, namely single and double quotes. Detecting SQL injection errors in a response is also simple and nonCPU-intensive. So although 99% of this script is strongly geared toward high and accurate detection of XSS adding simple SQL injection detection through error message discovery is a simple and effective addition. This script will not test for blind sql injection. Error messages it looks for come straight from w3af's sqli audit plugin.<br \/>\nLicense<br \/>\nCopyright (c) 2014, Dan McInerney All rights reserved.<\/p>\n<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:<\/p>\n<p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.<br \/>\nRedistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and\/or other materials provided with the distribution.<br \/>\nNeither the name of Dan McInerney nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.<br \/>\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br \/>\n<img decoding=\"async\" data-original=\"https:\/\/byy3.com\/wp-content\/uploads\/2021\/03\/2021032020520482.jpg\" src=\"https:\/\/byy3.com\/wp-content\/themes\/MNews%20V2.4\/images\/post-loading.gif\" title=\"xsscapy\u7684python\u5199\u7684python2\u73af\u5883xss\u7f51\u7ad9\u6f0f\u6d1e\u722c\u884c\u63d2\u56fe\" alt=\"xsscapy\u7684python\u5199\u7684python2\u73af\u5883xss\u7f51\u7ad9\u6f0f\u6d1e\u722c\u884c\u63d2\u56fe\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>xsscrapy Fast, thorough, XSS\/SQLi spider. Give it a URL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[119,572,571,570],"class_list":["post-1033","post","type-post","status-publish","format-standard","hentry","category-net-security","tag-xss","tag-xsscapy"],"_links":{"self":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/1033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1033"}],"version-history":[{"count":0,"href":"https:\/\/byy3.com\/index.php?rest_route=\/wp\/v2\/posts\/1033\/revisions"}],"wp:attachment":[{"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byy3.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}